容斥原理
zzk_233
这个作者很懒,什么都没留下…
展开
-
codeforces 451E Devu and Flowers
1题目大意:给出n个盒子,每个盒子里有val[i]个球,想要拿出s个球,从每个盒子里拿出相同的球算同种方案,求方案数。 首先对于式子的非负整数解个数为,考虑隔板法,将s个东西分成n份,允许有空 相当于在s-1个空中放n-1个隔板,有空的盒子可以相当于先加上盒子个数个小球,真实计算是再减去,所以就是n+s个东西 其中n+s-1个空选择n-1个放。但是这道题有个数限制,所以不合法的情况就是其中的...原创 2018-11-01 08:01:30 · 148 阅读 · 0 评论 -
bzoj 1042: [HAOI2008]硬币购物
因为有了个数的限制,我们可以考虑容斥原理,首先对于整体求完全背包,dp值代表值为i的选择方式。 那么有一个超过限制的情况就是选择这个面值的多了一个,那么贡献就是c[i]*(d[i]+1),所以应该减去dp[s-(c[i]*(d[i]+1))]。 利用容斥,应该减去奇数个超限制的,加上偶数个超限制的。 #include<cstdio> #include<cmath> ...原创 2018-11-07 19:12:48 · 127 阅读 · 0 评论