随笔分类 -  数论之莫比乌斯反演

摘要:链接 求[1,n] 和 [1,m]中有多少对数的GCD的素因子个数小于等于p 直接暴力做特定超时,所以我们想办法预处理,对于p大于18(1到5e5的最大素数因子个数)的情况,每一对都满足条件,O(1)得结果。 p<=18时,预处理sum【i】【j】sum[i][j]表示所有能整除i的质因子个数<=j 阅读全文
posted @ 2018-02-11 00:46 walfy 阅读(205) 评论(0) 推荐(0)
摘要:链接 题解:直接用公式算,用容斥来减掉重复计算的部分 但是我犯了一个非常sb的错误,直接把abcd除k了,这样算a-1的时候就错了,然后举的例子刚好还没问题= = ,结果wa了好几发 //#pragma comment(linker, "/stack:200000000") //#pragma GC 阅读全文
posted @ 2018-02-10 21:47 walfy 阅读(130) 评论(0) 推荐(0)
摘要:链接 题意很简洁不说了 题解:一开始我想直接暴力,复杂度是O(log(1e7)*sqrt(1e7))算出来是2e9,可能会复杂度爆炸,但是我看时限是10s,直接大力莽了一发暴力,没想到就过了= = 就是先打出1e7的素数表,然后挨个算即可 //#pragma comment(linker, "/st 阅读全文
posted @ 2018-02-10 20:22 walfy 阅读(136) 评论(0) 推荐(0)
摘要:链接 题意:三维平面,找从(0,0,0)看(n,n,n)能看到的点 题解:很明显就是求gcd(i,j,k)==1的(i,j,k)对数,改一下公式即可,记得要算平行坐标轴的三个平面,还有含0的三个坐标 //#pragma comment(linker, "/stack:200000000") //#p 阅读全文
posted @ 2018-02-10 20:18 walfy 阅读(157) 评论(0) 推荐(0)
摘要:hdu1695 求1<=i<=n&&1<=j<=m,gcd(i,j)=k的(i,j)的对数 最后的结果f(k)=Σ(1<=x<=n/k)mu[x]*(n/(x*k))*(m/(x*k)) 遍历的复杂度是O(n/k),按理来说是会t的,但是这题过了,更好的办法是用分块降低到O(sqrt(n/k)) 详 阅读全文
posted @ 2018-02-10 16:51 walfy 阅读(131) 评论(0) 推荐(0)
摘要:http://codeforces.com/contest/915 A:水题 #include<bits/stdc++.h> #define fi first #define se second #define mp make_pair #define pb push_back #define pi 阅读全文
posted @ 2018-01-20 14:19 walfy 阅读(205) 评论(0) 推荐(0)