随笔分类 - *数学---容斥原理
摘要:D. Unusual Sequences 隔板法 + 容斥原理 1 //容斥(莫比乌斯反演) 2 #include <bits/stdc++.h> 3 using namespace std; 4 #define LL long long 5 const int mod = 1e9+7; 6 LL
阅读全文
摘要:Lucky Number ZOJ - 3233 题意:给出数组a和b,问区间[L,R]之间有多少个数至少能被数组a中的一个数整除且至少不能被数组b中的一个数整除。 对于数组a,直接容斥 数组b,可以求全都能被乘除的情况,减去就可以了。 1 #include <bits/stdc++.h> 2 usi
阅读全文
摘要:Number Puzzle ZOJ - 2836 题意:求不大于m的数中,有多少可以被数组a中的数整除。 二进制枚举,容斥 1 #include <bits/stdc++.h> 2 using namespace std; 3 int a[11]; 4 int n,m; 5 int gcd(int
阅读全文
摘要:GCD HDU - 1695 题意:给你5个数a,b,c,d,k。x属于[a,b]y属于[c,d]。 问你有多少对(x,y)的公约数为k。 注意(x,y)和 (y,x)视为同一对,a和c为1。 通过b/k,d/k,等价于把区间除以k,那么就变成了求有多少对(x,y)互素。 欧拉函数+容斥原理。 注意
阅读全文
摘要:Visible Trees HDU - 2841 题意: N*M的格点上有树(从1开始),从0,0点可以看到多少棵树。 gcd(x,y)!=1的格子看不到。 对每一列分别去求那些行的格子可以看到。 先预处理出1到m的素因子,然后利用容斥原理,对于行数是(偶数个素因子的积)的倍数的行,加上,否则减去。
阅读全文

浙公网安备 33010602011771号