摘要: 当然是容斥啦。 用dp预处理出\\( f[i] \\),表示在\\( i \\)价格时不考虑限制的方案数,转移方程是\\( f[i]+=f[i c[j]] \\),用状压枚举不满足的状态容斥一下即可。 阅读全文
posted @ 2018-01-06 20:47 lokiii 阅读(139) 评论(0) 推荐(0)
摘要: ~~第一个一眼就A的容斥题!~~ 这个显然是容斥的经典问题 错排,首先考虑没有固定的情况,设\\( D_n \\)为\\( n \\)个数字的错排方案数。 $$ D_n=n! \sum_{t=1}^{n}( 1)^{t 1}\sum_{i_1 include using namespace std; 阅读全文
posted @ 2018-01-06 19:17 lokiii 阅读(191) 评论(0) 推荐(0)
摘要: 原来我一开始以为的\\( O(n^2) \\)是调和级数\\( O(nlog_2n) \\)的! 首先枚举猴王的桃子个数\\( x \\),然后使用容斥原理,枚举有至少\\( k \\)个不满足的条件,那么这\\( k \\)个不满足的条件得组合个数为\\( C_{m 1}^{k} \\),这\\( 阅读全文
posted @ 2018-01-06 15:46 lokiii 阅读(377) 评论(0) 推荐(0)
摘要: 简单的容斥原理可以通过画文氏图来理解: \\( \left | S_1\cup S_2 \right |=\left | S_1 \right |+\left | S_2 \right | \left | S_1\cap S_2 \right | \\) \\( \left | S_1\cup S_ 阅读全文
posted @ 2018-01-06 10:26 lokiii 阅读(245) 评论(0) 推荐(0)
摘要: 首先,考虑容斥,我们所要的答案是并集至少有\\( k \\)个数的方案数减去并集至少有\\( k+1 \\)个数的方案数加上并集至少有\\( k \\)个数的方案数…… 在n个数中选i个的方案数是\\( C_{n}^{i} \\),n种集合的组合方案数为\\( 2^n \\) 并集至少有i个元素的方 阅读全文
posted @ 2018-01-06 10:08 lokiii 阅读(293) 评论(0) 推荐(0)
摘要: 看到\\( 10^10 \\)的范围首先想到二分,然后把问题转化为判断\\( [1,n] \\)内有多少个是某个质数的平方和的数。 所以应该是加上是一个质数的平方的个数减去是两个质数的平方的个数加上是三个质数的平方的个数……注意到这正好是莫比乌斯函数反过来,所以 \\( re =mb[i] n/(i 阅读全文
posted @ 2018-01-06 07:17 lokiii 阅读(276) 评论(0) 推荐(0)