随笔分类 -  容斥原理与莫比乌斯反演

摘要:Given 5 integers: a, b, c, d, k, you're to find x in a...b, y in c...d that GCD(x, y) = k. GCD(x, y) means the greatest common divisor of x and y. Sin 阅读全文
posted @ 2017-05-08 22:13 cdongyang 阅读(241) 评论(0) 推荐(0)
摘要:1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long LL; 4 const int N=1e6+10; 5 const int INF=0x3f3f3f3f; 6 int cas=1,T; 7 int c[N]; 阅读全文
posted @ 2017-05-08 22:09 cdongyang 阅读(193) 评论(0) 推荐(0)
摘要:给出n,m,k,求1~n中前m个正好有k个在原来位置的种数(i在第i个位置) 做法:容斥,先选出k个放到原来位置,然后剩下m-k个不能放到原来位置的,用0个放到原来位置的,有C(m-k,0)*(n-k)!种 - 1个放原来位置的,有C(m-k,1)*(n-k-1)!种+...-... 1 #incl 阅读全文
posted @ 2016-07-14 19:58 cdongyang 阅读(217) 评论(0) 推荐(0)
摘要://容斥原理,c[i]表示i当前要算的次数,复杂度和第二层循环相关 O(nlogn~n^2) LL in_exclusion(int n,int *c) { for(int i=0;i<=n;i++) c[i]=1; //不一定是这样初始化,要算到的才初始化为1 LL ans=0; for(int 阅读全文
posted @ 2016-04-18 22:35 cdongyang 阅读(1938) 评论(0) 推荐(0)
摘要:1 /* 2 1 3 126 223092870 4 210 330 390 462 510 546 570 690 714 770 798 858 910 966 1122 1155 1190 1254 1326 1330 1365 1430 1482 1518 1610 1785 1794 18 阅读全文
posted @ 2016-04-07 23:34 cdongyang 阅读(247) 评论(0) 推荐(0)