
容斥原理&&鸽巢原理&&莫比乌斯
YYyyCCCcccBb
觉得为时已晚的时候,恰恰是最早的时候。
展开
-
51nod-1284 2 3 5 7 倍数
思路:容斥原理裸题;long long#include using namespace std;int main(){ long long n; cin>>n; cout<<n-(n/2+n/3+n/5+n/7-n/6-n/10-n/14-n/15-n/21-n/35+n/30+n/42+n/70+n/105-n/210)<<endl; retu原创 2016-10-08 14:35:41 · 357 阅读 · 0 评论 -
HDU 1796 How many integers can you find 容斥原理
题意:给定一个数字n,求“小于n”的所有数字中,有多少个满足可以整数给出的m个元素思路:很明显是个高中的容斥原理,自己写了个dfs,结果忘记剔除0,1,以及比如4,8有公因子的特殊条件了。心酸。代码如下#include #include using namespace std;typedef long long ll;ll sum;ll n,m,num;int cnt=原创 2016-11-17 20:16:50 · 288 阅读 · 0 评论 -
POJ-2356 Find a multiple(鸽巢原理)题目数据太垃圾了!!
题意:在给出的N个数字中找出M个数字和为N的整数倍思路:在离散数学中鸽巢原理大概意思是,有N+1个数字放在N个盒子里必定有一个盒子有2个或者2个以上个数字..本题如果sum[I] %n==0,那么这组数字就满足条件,如果没有一组数字是满足条件的,那么我们考虑多个数字的组合如果前i个数字和 与前j个数字和%n相等, 那么 第i+1~j个数字的和必定是n的k倍先给个AC的,思路原创 2016-12-23 15:13:55 · 624 阅读 · 0 评论 -
839D - Winter is here (莫比乌斯)
题意:给出若干的元素,求从集合中选出任意某些元素,求他们的gcd*元素个数的和。要求gcd>1思路:第一次做莫比乌斯的题,感觉还是挺像模板题的。f(x) = Σmu[d/x] *F(d) 其中mu[d/x]可以用筛法打素数表的时候处理出来。而F(d)则表示了因数为d的元素有多少个。f(x)表示最大共因数为x的有多少个!而对于任意的一个gcd 我们可以很容易知道,题目中要原创 2017-08-14 14:27:55 · 392 阅读 · 0 评论