luogu P2481 [SDOI2010]代码拍卖会
Posted smyjr
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了luogu P2481 [SDOI2010]代码拍卖会相关的知识,希望对你有一定的参考价值。
题目中的那个大数一定是若干个1+若干个2+若干个3...+若干个9组成的,显然可以转化成9个\(\underbrace 111...1_a_i个1(0\le a_1\le a_2\le a_3...\le a_9,a_9=n)\)之和
然后模数只有500,所以可以考虑处理出所有\(\mod p =i\)的不同长度的\(111...1\)个数记为\(cnt_i\),考虑dp求答案,设\(f_i,j,k\)表示考虑了前\(i\)个剩余类,用了\(j\)个\(111...1\),得到的数\(\mod p =k\)的方案.注意选出来的\(111...1\)不同当且仅当对应的\(a\)序列排序后不同,并且只有模\(p\)相同的\(111...1\)才有可能有影响.转移枚举当前这个类选了多少个j,然后转移系数就是\(cnt_i\)种数中选\(j\)个的方案,这个就等于\(\binomj+cnt_i-1j\),最后答案为\(f_p-1,8,p-(\underbrace 111...1_n个1\mod p)\),因为没有前导0,要至少包含一个\(\underbrace 111...1_n个1\)
以上是关于luogu P2481 [SDOI2010]代码拍卖会的主要内容,如果未能解决你的问题,请参考以下文章