摘要:
第一道莫比乌斯反演的题。建议参看http://www.isnowfy.com/mobius-inversion/摘其中部分证明的话感觉写起来会比较诡异,大家意会吧说一下这个经典题目:令R(M,N)=1≤x≤M,1≤y≤N中 gcd(x,y)=1 的个数我们说G(z)表示gcd(x,y)是z的倍数的个... 阅读全文
摘要:
终于做出来了,激动。。。。这道题隐藏得深啊,但若推导下来,就变简单了。首先,一个集合的子集的个数为2^n=s。注意了,题目求的是有序集合组,并且每个集合是可以重复使用的,怎么办呢?这就要想到多重集合的排列问题了。一个多重集合有k种元素,每种元素可以无限次使用,求r-排列个数。答案为 k^r个。这样,... 阅读全文
摘要:
求不比M大的可以被集合任一个数整除的数的个数。(容斥原理)#include #include #include #include using namespace std;int set[15];int ans;int gcd(int a,int b){ if(b==0) return a; retu... 阅读全文
摘要:
明显,当(X,Y)=1时,是可以看见的。这题,记得POJ 上也有类似的一题。。。不过比较奇怪的是,我以为会超时,因为范围达到了100000,但竟然直接枚举没超时。。。。#include #include #include #include #define LL __int64#define N 10... 阅读全文
摘要:
容斥原理简单应用#include #include #include #include #define LL __int64#define Np 100000using namespace std;bool isprime[Np];LL prime[Np],np;LL fac[100],fp;voi... 阅读全文
摘要:
可以用容斥原理来求。求两个矩形的并的时候可以使用条件x1=max(p.x1,q.x1);y1=max(p.y1,q.y1);x2=min(p.x2,q.x2);y2=min(p.y2,q.y2);而if(x2>x1&&y2>y1)可以并,否则,并不了。。。。开始时,我对每个询问都做一次容斥原理,TL... 阅读全文
摘要:
不经意看见dis后的“mod”一词后,瞬间有了思路,点进去看,却发现别人想的和我的不一样——!我是这样想的,利用的是剩余系+欧几里德带余除法的性质。若两者GCD=1,则必有除数和余数GCD=1.于是,求出除数剩余系,再在原位置加上被除数的倍数得到第k个数.#include #include #inc... 阅读全文