讲一下欧拉算法的速筛,相当于打了个表用来处理一定范围内却需要多次用到欧拉值的算法。
typedef long long ll
const ll idx=1e9+7;
ll a[maxN];
ll N;
ll sum;
void ola()
{
for(int i=1; i<maxN; i++)
{
a[i]=i;
}
for(int i=2; i<maxN; i++)
{
if(a[i]==i)
{
for(int j=i; j<maxN; j+=i)
{
a[j]=a[j]/i*(i-1); //欧拉算法
}
}
}
}