数学 ------ 容斥
文章平均质量分 60
orz11111111
这个作者很懒,什么都没留下…
展开
-
HDU 5514 Frog 容斥(技巧)
题意:编号为[0,m-1]的石头围成一圈,n只frog在起点0,第i只frog每次跳a[i]距离. n 第i只青蛙 第x次在编号为(x*a[i])%m的石头上. a[i]*x +m*b =k*gcd(a,m) 两边同时%m ( a[i]*x )%m=(k*gcd(a,m)) %m 则第i只青蛙落在的石头和编号k*gcd(a[i],m)可以一一映射.(k*gcd(a,m)>m 则多余原创 2017-09-19 11:13:53 · 302 阅读 · 0 评论 -
HDU 5212 Code GCD容斥(套路).
DU 5212 题意:给出长度为n的序列a,求定义f(i,j)为gcd(a[i],a[j])*(gcd(a[i],a[j])-1). 求f(i,j)的累加和[i=1..n,j=1...n] 答案模mod. n,a[i] 直接遍历序列显然是TLE的.a[i] 当x作为gcd 算出x的倍数有num个 则任选两个方案为num^2 .其中重复为gcd=2x,3x..kx产生的贡献 用d原创 2017-10-12 21:37:56 · 257 阅读 · 0 评论 -
CF 900D Unusual Sequence 容斥
题意:问有多少个序列a.长度任意.序列a元素之和为y,序列a的所有元素的gcd为x. x,y 由题意得:x * (b[1]+b[2]+...b[k])=y. gcd(b[1],b[2],...b[k])=1. (b[1]+b[2]+..b[k]) =y/x (不能整除则无解.) 令n=y/x f(n)为序列gcd等于1,并且序列元素和为n的方法数. 序列和要想为n,现在序原创 2017-12-12 22:04:10 · 285 阅读 · 0 评论 -
计蒜客 16初赛 C 树上路径+容斥
题意:n个点的树,每个点的价值为a[i], n 树上路径求和的问题,从边的角度来考虑.计算u-v这条边总共走了多少次. 设dp[v][j] 子树v中,值为j的个数, 可以枚举j = [1:500] 若子树v上方有num个数和j互质,那么贡献 num*dp[v][j] 直接枚举的话 O(n*[ai]^2) TLE... 因为a[i] 算出子树v上方p[j]的倍数有多少个. 容原创 2018-05-09 18:31:36 · 190 阅读 · 0 评论