容斥原理
文章平均质量分 78
未水
这个作者很懒,什么都没留下…
展开
-
hdu1695 容斥原理
抄来的代码,第一次搞容斥原理。 原问题转化为 gcd(x,y)=k -> gcd(x/k,y/k)=1,两者互质的问题 首先联想到欧拉函数,它是互质问题计数的工具,但它只能解决(x,y) 中x 但现在范围不一样,就要用到容斥原理求出超出范围那些部分 当(x,y)中x>y,要一个一个用容斥原理求【b+1,d】中每个数的质因数能否整除【1,b】中的数,那些不能的就是互质的 区间中与i不互质的原创 2013-07-02 19:48:41 · 646 阅读 · 0 评论 -
hdu4059 容斥原理的好题
1.首先要知道4次方求和的公式 2.注意求和公式中有除以30应该乘以30的逆 3.容斥原理 即 原来的所有和 - 1个质因数的倍数 + 2个质因数的倍数 - 3个质因数的倍数 + 4个质因数的倍数…… 每个质因数的贡献就是getsum(n/link[i]) * four(link[i]), 比如质因数是2时,就是 (1^4+2^4+3^4+4^4......+(n/2)^4) * (2原创 2013-07-04 16:34:37 · 1163 阅读 · 0 评论 -
zoj 3638 经典容斥原理
有n种物品,要取m种出来,如果每种物品的数量没有限制,答案为C(m,m+n-1)---多重集的计数 1.现在限制,某种物品大于x,解决方法是,m-=x 后 又按原来的方法解决 2.限制 ,物品a1小于x1,a2小于x2,…… 转化为容斥问题 容斥原理附上两种写法 #include #include #include using namespace std; #define原创 2013-07-13 19:53:37 · 1270 阅读 · 0 评论