容斥原理
文章平均质量分 57
a1214034447
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #846 (Div. 2) ABEF
Codeforces Round #846 (Div. 2)原创 2023-02-16 15:17:07 · 108 阅读 · 0 评论 -
hdu 1796 容斥原理
题目链接:点击打开链接 被这个0坑了好久,题目有矛盾,注意这个0就OK了。 题解: #include #include #include #include using namespace std; typedef long long ll; int n,m; int num[25]; int gcd(int a,int b){ return b==0? a:gcd(原创 2017-05-05 20:05:55 · 402 阅读 · 0 评论 -
zoj 3614-二维RMQ+容斥
RMQ求出矩阵区间最大,数组sum和pro分别存坐标i,j到右下角的矩阵所有元素和,和平方和,然后根据容斥求出某一矩阵的元素和,平方和。然后根据方差展开求最大坐标,就OK啦。。。。。 代码: #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f #de原创 2017-05-06 23:24:33 · 318 阅读 · 0 评论 -
hdu 6053-莫比乌斯反演
题目链接:点击打开链接 题解思路:应用莫比乌斯就是处理容斥,这里用原始的容斥肯定超时。 代码: #include #include #include #include using namespace std; typedef long long ll; int n,m; const int mx = 1e5+10,mod = 1e9+7; int mu[mx],pri[mx]原创 2017-08-10 10:34:53 · 494 阅读 · 0 评论 -
hdu 6134 - 容斥+数学
题目链接:点击打开链接题解思路:F[i]表示累加j∈(1-i)[向上取整的i/j],f[i]则表示累加的[向下取整的[i/j],[i/j]表示向上取整,(i/j)表示向下取整,那么你会发现[i/j] = ((i-1)/j) + 1,那么F[i] = f[i-1] + i;f[i] = F[i] -i+(i的因子个数)。那么我们最后在应用容斥可得,容斥用莫比乌斯就行了,例如将公约数是2的删去,那么假...原创 2017-08-17 19:05:27 · 565 阅读 · 0 评论 -
Codeforces Round #428 (Div. 2) - 专题
A:水题 #include #include #include #include #include #include using namespace std; typedef long long ll; #define inf 0x3f3f3f3f const int mx = 1e4+5,mod = 1e9+7; int n,m,a[mx]; int main(){ scanf("%d原创 2017-08-15 19:05:20 · 200 阅读 · 0 评论 -
hdu 6169 - 容斥
题目链接:点击打开链接 题解思路:这题就是要求K要是质数,且要小于R,要么肯定是0.那么我们还的知道要是K是sqrt(n)以上的质数那么值肯定是它本身,那么我们只需要先把sqrt(10^11)内的质数求出来就行了。然后去容斥2-K里面的这些质数就可以了,可以用等差公式直接求出质数i的倍数的和,因为数据很大也不适合乌斯和其他,直接用递归容斥更好解决。 代码: #include原创 2017-08-23 18:28:41 · 652 阅读 · 0 评论 -
hdu 5768 - 中国剩余定理 + 容斥
题解思路: 利用中国剩余定理解决多个同余问题,这里需要再加一项mn = 7,an = 0,这样才能求出7的倍数的解,然后再需要用到容斥,2^15枚举就行了。 1.扩展欧几里得: 我们观察到:欧几里德算法停止的状态是: a= gcd(a,b), b = 0 ,那么,这是否能给我们求解 x y 提供一种思路呢?因为,这时候,只要 a = gcd(a,b)的系数是 1 ,那么只要 b 的系数...原创 2017-10-22 19:51:17 · 253 阅读 · 0 评论 -
ACM-ICPC 2018 沈阳赛区网络预赛 G - 容斥
题目链接:点击这里 解题思路: 首先要将原有的递推公式变成a[n] = n*n+n,那么前n项和就可以分为求n^2和n的前n项和,这个就有了很清楚了的公式了.然后就是将m质因子分解出来,用容斥求出和m不互质的数的贡献和。 #include<bits/stdc++.h> #define fi first #define se second using namespac...原创 2018-09-11 19:18:14 · 131 阅读 · 0 评论