这不原题???
手动左转「『SDOI2014』数表」……
首先单纯度可以在欧拉筛的时候顺便筛出来。
然后设 n 的单纯度为 f(n)。
n∑i=1m∑j=1[f(gcd(i,j))≤p]=min(n,m)∑d=1[f(d)≤p]∑id≤min(n,m)μ(i)⌊nid⌋⌊mid⌋=min(n,m)∑T=1⌊nT⌋⌊mT⌋∑d|T[f(d)≤p]μ(Td)
然后套路地套上一个树状数组,复杂度 O(nlog2n+T√nlogn)(认为所有 n,m 同阶)。
代码:
1 |
|
这不原题???
手动左转「『SDOI2014』数表」……
首先单纯度可以在欧拉筛的时候顺便筛出来。
然后设 n 的单纯度为 f(n)。
n∑i=1m∑j=1[f(gcd(i,j))≤p]=min(n,m)∑d=1[f(d)≤p]∑id≤min(n,m)μ(i)⌊nid⌋⌊mid⌋=min(n,m)∑T=1⌊nT⌋⌊mT⌋∑d|T[f(d)≤p]μ(Td)
然后套路地套上一个树状数组,复杂度 O(nlog2n+T√nlogn)(认为所有 n,m 同阶)。
代码:
1 | #include <cstdio> |
Related Issues not found
Please contact @Alpha1022 to initialize the comment