
数学—容斥原理
文章平均质量分 69
My_ACM_Dream
生活没有彩排每天都是现场直播
展开
-
HUST 1214 Cubic-free numbers II (容斥原理)
题意:给出一个范围,求这个范围中满足n=x^3*k的数的个数。题解:枚举小于n的素数,然后乱搞(容斥),TL。。。#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define B(x) (1<<(x))vo原创 2015-03-25 19:19:57 · 520 阅读 · 0 评论 -
2014 ACM Regional hdu 5072 (同色三角形模型,容斥原理)
题意:给出n个数,求这个n个数满足{gcd(a,b)=1&&gcd(a,c)=1&&gcd(b,c)=1||gcd(a,b)!=1&&gcd(a,c)!=1&&gcd(b,c)!=1}这个条件的三元组个数。题解:这里用到了同色三角形的模型,先说下同色三角形。同色三角形:假设平面上有n个点,现在有些点被染上黑色,而有些则被染上白色。对于平面上的三个点连线可以组成三角形,总的三角形原创 2015-04-15 11:05:11 · 719 阅读 · 0 评论 -
codeforces 451E Devu and Flowers (容斥原理)
题意:有n个花瓶,每个花瓶里面有数枝话,现在要从这些花瓶从取出s枝花,问有多少种方案。题解:直接计算这个组合数的哀家并不会。可以考虑用容斥原理,在每个花瓶中取花和将花放到每个花瓶里面的问题是等价的,那么就这样考虑:我们有s枝花,要放入n个空花瓶有多少方案。我们任意枚举花瓶的编号,开始不选择花瓶,那么要将这么花分配到各个花瓶的方案是C(s+n-1,n-1)(搁板法),那坑定有重复或者不可原创 2015-04-11 14:25:32 · 815 阅读 · 0 评论 -
hdu 3208 Integer’s Power (坑精度,容斥)
题意:给出一个范围,求这个范围每个数power的和,power的定理例如:64=2^6,99=99^1,16=2^4,要尽量让指数最大,那么对应的指数就是power。题解:枚举指数,计算,然后去重。精度fuck!#include#include#include#include#include#include#include#include#include#incl原创 2015-03-24 23:04:37 · 869 阅读 · 0 评论 -
poj 1091 跳蚤 (数论,容斥原理)
题意:一只小跳蚤想要迟到它左边的食物,但是跳蚤只能按照某张牌上的数字进行往左或者往右的跳跃。牌中数字有N+1个,并且最后一个一定是M,其他的不比M大。问在所有的组合M^N中有多少张牌是可以让跳蚤迟到食物的。注意,牌上的数字可以重复使用。题解:这种题目下手要寻找一个规律,规律就是突破口,我们要得到那些性质的数组成的牌能让跳蚤迟到食物。发现这些数如果公约数为1那么跳蚤就可以吃到食物,那么我原创 2015-03-24 15:29:50 · 1388 阅读 · 0 评论 -
hdu 2841 Visible Trees (容斥原理)
给出一个矩阵问在点(0,0)的人最多能看得到多少点。发现规律:对于这些点的坐标,只要坐标互质就可以看到。那么就转化为求区间(1,n)和(1,m)是互质的数对的对数。容斥原理。#include#include#include#include#include#include#include#include#include#includeusing namespace std原创 2015-03-23 16:33:48 · 508 阅读 · 0 评论 -
hdu 4135 Co-prime (容斥原理)
求一个区间和N互质的数的个数。容斥原理,用set存N的质因数。#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define B(x) (1<<(x))void cmax(int& a,int b){ if(b>a)a=原创 2015-03-23 17:35:15 · 544 阅读 · 0 评论 -
hdu 2204 Eddy's爱好 (数论,容斥原理)
题意:给出一个范围(1,N)问存在多少这样的数M^K(k>1)题解:我这样分析:1、对于某个M^K,我们不妨将K分解,假设分解成为a,b,那么M^(a*b),那么会发现一重复的问题,就是(M^a)^b和(M^b)^a是重复计算了,那么要使得不重复计算K一定不能分解,那么K必须为素数。2、现在分析某个M^K,对于这样的K有多少个M能够满足,满足的个数为:N^(1/K),好啦,分析原创 2015-03-22 21:01:43 · 871 阅读 · 0 评论 -
hdu 1695 GCD (数论,容斥)
题意:给出两个区间,求这个两个区间这样的一对数:(a,b) gcd(a,b)=k 的个数,(a,b)和(b,a)等价。题解:要求区间(1,l)(1,r)一对数满足最大公倍数等于k,那么等价于求(1,l/k)(1,r/k)一对数满足互质。继续分析发现可以将问题分成两个部分解决:我们假设l比r更小1、(1,l)和(1,l)这个区间的某个数i,其中一部分解就是这些i对应在(1,i)区间互原创 2015-03-22 17:34:54 · 600 阅读 · 0 评论 -
hdu 4407 Sum (容斥原理)
题意:对于一个序列原来是1~n,现在又两个操作,操作1、给定区间[l,r]求这个区间中与p互质的数的个数;操作2、将区间的第i个数变成a。题解:如果没有替换的操作,对于求某个区间与p互质的个数,可以分别求[1,l]和[1,r]的,然后相减。对于求某个区间的数是否与p互质,明显不好求,那么我们可以求不互质的个数,不互质的个数就是p的质因子倍数的个数,这个显然要用容斥来计算,在计算时我们要原创 2015-03-23 00:17:21 · 650 阅读 · 0 评论 -
hdu 1796 How many integers can you find (容斥原理)
题意:题意就是求,有多少个数小于n并且是所给m个数中任意一个的倍数。题解:容斥原理,我们假设Ai是某m中第i个数的倍数个数,但让这个倍数是小于你的。接着就是暴力位枚举,有点慢,dfs更快。#include#include#include#include#include#include#include#include#includeusing namespace s原创 2015-03-20 14:21:53 · 448 阅读 · 0 评论 -
uva 11806 Cheerleaders (容斥原理)
计算一个n*m的格子放k个球的方案数,要求第一行,第一列,最后一行,最后一列,都要有球。直接计算显然是由点复杂,根据容斥原理,先求逆问题,也就是:第一行有球||第一列有球||最后一行有球||最后一列有球。这些都比较好求,然后用总数减去就是答案。#include#include#include#include#include#include#include#include#i原创 2015-03-20 12:50:35 · 557 阅读 · 0 评论 -
URAL1091 Tmutarakan Exams (容斥原理)
题意:求S以内包括S,最大公约数大于1的K个不同的数有多少种情况。题解:我们知道要使得k个不同的数有公约数>1,那么这些数肯定有公共的约数n>1,为了不重复计算,我们枚举这个质数约数,得到倍数的个数n,那么这个约数能得到的K个不同数的组合方案有C[n][K],但是会出现这样的情况比如:假设现在S=12,K=1,那么2 ,4, 6,8 10,12; 3 6, 9, 12;2和3对应的组合原创 2015-03-25 11:28:48 · 544 阅读 · 0 评论 -
hdu 5212 Code (容斥)
题意:int calc{ int res=0; for(int i=1;i for(int j=1;j { res+=gcd(a[i],a[j])*(gcd(a[i],a[j])-1); res%=10007; } retu原创 2015-04-26 21:52:51 · 832 阅读 · 0 评论