
容斥
acblacktea
永不放弃
展开
-
hdu 3501 筛素数 + 容斥模板
#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<string>#define mod 1000000007ll#define LL long longusing namespace std;// 筛素数bool flag[50000];int cnt = 0,prime[原创 2016-08-27 18:48:01 · 461 阅读 · 0 评论 -
hdu 2204 Eddy's爱好 容斥
根据指数的质数分解进行容斥 比如 k = a^3 且 k = b ^ 5,那么 k = c ^ 15 所以 a 的可选个数 加 b的可选个数减去c的可减个数就是总的个数了因为 a^3和b^5有重复的#include<cstdio>#include<algorithm>#include<iostream>#include<cstring>#include<string>#include<c原创 2016-08-29 13:01:00 · 494 阅读 · 0 评论 -
hdu 4390 容斥组合数学
先抽象出 n个相同物品放在m个不同抽屉里的模型 结果为C(n, n+m-1) 然后本题要求抽屉里必须放物品 所以要反向思维容斥求出有抽屉不放物品的方案数 为大于等于一个为空的方案减大于等于两个为空的方案加大于等于三个为空的方案。。。。#include<cstdio>#include<cstring>#include<vector>#define LL long longusing nam原创 2016-08-30 15:04:43 · 305 阅读 · 0 评论 -
hdu 5072 Coprime 容斥 同色三角形
n个点之间都有边相连颜色为红或黑, 那对于每个点能形成异色三角形的方案为blackEdge[i] * redEdge[i] ,这n个点能形成异色三角形的方案数为 sum (blackEdge[i] * redEdge[i]) /2 (1<=i<=n) 如果两个数互质就是红边不互质就是黑边,抽象出这个基本模型就行了这个是难点。。。 判断 每个点有几个点与其互质分解质因子用容斥原理也是最基本的方法#原创 2016-08-30 22:16:40 · 470 阅读 · 0 评论