莫比乌斯
文章平均质量分 87
a7f650ebd327889c
这个作者很懒,什么都没留下…
展开
-
Gcd HYSBZ - 2818
题意:给定整数N,求1思路:想想容斥,莫比乌斯,最先想到的还是欧拉函数k为质数,gcd(a,b)=k,所以有gcd(a/k,b/k)=1;显然欧拉函数可以轻易得到gcd()=1的一堆答案有两种方案:遍历1-n的欧拉函数值每个乘以(n/i)的素数个数前缀和,然后果断超时了。。。。。。这里的时间复杂度是O(n);另外一种方案,遍历1-n的所有素数,每个乘以(原创 2017-08-09 11:40:49 · 309 阅读 · 0 评论 -
筛法,欧拉函数表,莫比乌斯函数表,积性函数
递推const int maxn=1000010;for(int i=1; i<=maxn; i++) if(i&1) p[i]=i; else p[i]=(i>>1);for(int i=3; i<=maxn; i+=2) if(p[i]==i) { for(j=i; j<=maxn; j+=i) p[j]=p[j]原创 2017-08-11 16:16:38 · 311 阅读 · 0 评论 -
HDU 6134 Battlestation Operational
题意:求 f(n)=∑i=1n∑j=1i⌈ij⌉[(i,j)=1]思路:比赛的时候不会写,看了别人的博客半天才看懂,看来理解还是不够深啊这里就不推导了重新对欧拉函数,莫比乌斯函数,还有那个因子数的积性有了新的理解欧拉函数:我们知道由于欧拉筛法,每次我们都遍历一个素数 j如果 n%j==0 说明 n中存在素因子j ,那么在euler[n]中已经原创 2017-08-29 10:12:53 · 224 阅读 · 0 评论 -
BZOJ 2005 [Noi2010]能量采集
题意:栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量。在这些植物采集能量后,栋栋再使用一个能量汇集机器把这些植物采集到的能量汇集到一起。 栋栋的植物种得非常整齐,一共有n列,每列有m棵,植物的横竖间距都一样,因此对于每一棵植物,栋栋可以用一个坐标(x, y)来表示,其中x的范围是1至n,表示是在第x列,y的范围是1至m,表示是在第x列的第y棵。 由原创 2017-08-12 13:52:41 · 145 阅读 · 0 评论 -
BZOJ 2301: [HAOI2011]Problem b (莫比乌斯反演)
题意:有多少对 x属于[a,b] , y属于[c,d], 满足 gcd(x,y)思路:直接对于每个k的倍数进行#includeusing namespace std;#define MAXN 50000bool check[MAXN+10]; int prime[MAXN+10]; int mu[MAXN+10]; int sum[MAXN+10];原创 2017-08-10 22:34:21 · 236 阅读 · 0 评论 -
莫比乌斯函数打表
莫比乌斯反演推荐博客:莫比乌斯详解,莫比乌斯应用莫比乌斯函数是莫比乌斯反演的核心莫比乌斯函数打表第一种void getMu(){ //n*logn 递推筛法 for(int i=1; i<=MAXN; i++) { int target = i==1?1:0; int delta = target - mu[i];原创 2017-08-11 15:56:37 · 1537 阅读 · 0 评论 -
HDU-6053 TrickGCD 前缀和数组,莫比乌斯函数
题意:给定数列A,问有多少个数列B满足一下条件 1.1 2.对于任意 1=2 全是就是gcd(B)>=2思路:实在太弱了,多校中写不出来,就想着找最小的Ai,然后遍历每个gcd遍历一遍数组A, 1E10的复杂度 会爆看了大佬们的博客,有些还用了莫比乌斯反演有些没用直接求,再容斥原理去重#incl原创 2017-07-29 14:01:34 · 321 阅读 · 0 评论 -
Visible Lattice Points POJ - 3090
题意:有一个n*n的点阵,站在(0,0)点,你可以看见(1,1),(1,2),但是你看不见(2,2),(2,4)因为(2,2)会被(1,1)挡住,(2,4)会被(1,2)挡住给定n,求能看见的点的个数思路:即在n*n范围内,gcd(i,j)=1的数对的个数想到欧拉函数是[1,n-1]内与n互质的数的个数,前缀加和#include#includeint a[100原创 2017-08-07 15:34:15 · 239 阅读 · 0 评论 -
spoj 7001 Visible Lattice Points
题意:Visible Lattice Points POJ - 3090的三维版本思路:通过这个题目对莫比乌斯有了更深的认识,比方说最原始的那个题目:100以内5的倍数,3的倍数,2的倍数,有些时候就像这个一样得倒单纯的2的倍数是很麻烦的容斥原理,但是莫比乌斯函数就是在很轻松的模拟容斥这个题目得到gcd(x,y,z)=1是很麻烦的,但是就像莫比乌斯反演的F(n)是很容易得到原创 2017-08-07 16:22:13 · 204 阅读 · 0 评论 -
GCD HDU - 1695
题意:和Gcd HYSBZ - 2818几乎一样,在区间[ a , b ] 取一个x,在区间[ c , d ] 取一个y,求 得gcd(x,y)=k的对数同时 (x,y) 与(y,x)为一对,斌且这里a=c=1。思路:这里我们可以延续上次的套路,分段去取莫比乌斯前缀和,但是这里怎么去除 (y,x)?我是这样想的 当只有x与y的区间相同,除去gcd(1,1),其他的都有原创 2017-11-15 19:01:55 · 236 阅读 · 0 评论