狄利克雷前缀和及其拓展

给定 \(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] ];
posted @ 2021-01-22 09:54  JustinRochester  阅读(726)  评论(0编辑  收藏  举报