狄利克雷前缀和及其拓展
给定 \(n,\{a_n\}\) ,以及 \(\{a_n\},\{b_n\}\) 之间的以下四种关系,求 \(\{b_n\}\) 。
【狄利克雷前缀和】
\(\displaystyle b_n=\sum_{d\mid n}a_d\)
for(int i=1;i<=CntPrime;i++)
for(int j=1;j*Prime[i]<=N;j++)
B[ j*Prime[i] ]+=B[j];
【狄利克雷后缀和】
\(\displaystyle b_n=\sum_{n\mid d}a_d\)
for(int i=1;i<=CntPrime;i++)
for(int j=N/Prime[i];j>=1;j--)
B[j]+=B[ j*Prime[i] ];
【倒狄利克雷前缀和】
\(\displaystyle a_n=\sum_{d\mid n}b_d\)
for(int i=CntPrime;i>=1;i--)
for(int j=N/Prime[i];j>=1;j--)
B[ j*Prime[i] ]-=B[j];
【倒狄利克雷后缀和】
\(\displaystyle a_n=\sum_{n\mid d}b_d\)
for(int i=CntPrime;i>=1;i--)
for(int j=1;j*Prime[i]<=N;j++)
B[j]-=B[ j*Prime[i] ];