摘要: 链接 题解:直接用公式算,用容斥来减掉重复计算的部分 但是我犯了一个非常sb的错误,直接把abcd除k了,这样算a-1的时候就错了,然后举的例子刚好还没问题= = ,结果wa了好几发 //#pragma comment(linker, "/stack:200000000") //#pragma GC 阅读全文
posted @ 2018-02-10 21:47 walfy 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 链接 题意很简洁不说了 题解:一开始我想直接暴力,复杂度是O(log(1e7)*sqrt(1e7))算出来是2e9,可能会复杂度爆炸,但是我看时限是10s,直接大力莽了一发暴力,没想到就过了= = 就是先打出1e7的素数表,然后挨个算即可 //#pragma comment(linker, "/st 阅读全文
posted @ 2018-02-10 20:22 walfy 阅读(131) 评论(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 阅读(152) 评论(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 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 1.线性 ll inv[N]; void init(ll p) { inv[1]=1; for(ll i=2;i<N;i++) inv[i]=(p-p/i)*inv[p%i]%p; } 2.费马小定理:当模数是素数,a^(p-1)=1(mod p) 那么a^(p-2)=a^-1(mod p) ,也就 阅读全文
posted @ 2018-02-10 15:29 walfy 阅读(179) 评论(0) 推荐(0) 编辑