題目
眾所周知,除數個數函式\(\sigma_0=i^2\),\(i\)就是狄利克雷卷積裡的\(1\)函式
於是熟悉狄利克雷卷積的話很快就能看出我們要求的就是\(i\times i^\),即\(i^\),我們給這個函式起乙個名字叫\(f^\)
顯然這個東西是積性函式,於是我們考慮一下指數次冪的\(f\)如何求
顯然\[f^(n)=\sum_f^(d)
\]對於指數次冪\(p^m\)
\[f^(p^m)=\sum_^mf^k(p^i)
\]我們考慮一下快速求\(f^(p^m)\),發現就是就是把這\(m\)次冪分配到\(k+1\)次減少的機會裡去,當然最後不一定減少到\(0\),於是等價於把\(m\)個球分給\(k+2\)個盒子,允許為空,插板一下得知這個是\(\binom\),我們發現這個組合數非常好算,於是直接暴力就好了,由於又是積性函式,我們分解質因數之後直接合併就可以了
**
#include#include#include#include#include#define re register
#define min std::min
#define ll long long
const int maxn=1e7+5;
const int mod=998244353;
int f[maxn],p[maxn>>2],inv[505];
ll n,m;int t,ans=1;
inline int c(ll n,int m)
int main()
} p[++p[0]]=1e9+7,p[++p[0]]=998244353,p[++p[0]]=1e9+9;
for(re int i=1;i<=p[0];i++)
if(n!=1) ans=1ll*ans*c(m+2,1)%mod;
printf("%d\n",ans);
return 0;
}
約數個數定理and約數和定理
定理 對於乙個大於1正整數n可以 分解質因數 則n的正約數 的個數就是 證明 省略 舉個栗子 例題 正整數378000共有多少個 正約數?解 將378000 分解質因數378000 2 4 3 3 5 3 7 1 由約數個數定理可知378000共有正約數 4 1 3 1 3 1 1 1 160個。c...
約數個數定理 約數和定理
1 如果我們要求乙個數的所有因數的個數會怎麼去求呢?首先想到最簡單的方法就是暴力求解就可以。當然資料小 或者測試資料少就很簡單就可以過了。2 如果求乙個區間內的數的所有因數的個數呢?或者求乙個區間內的數的因數最大的數以及最大的因數 正因數 的個數?這樣的話,資料大一些,組數多一些,可能就要tle,所...
約數個數定理 約數和定理
1 如果我們要求乙個數的所有因數的個數會怎麼去求呢?首先想到最簡單的方法就是暴力求解就可以。當然資料小 或者測試資料少就很簡單就可以過了。2 如果求乙個區間內的數的所有因數的個數呢?或者求乙個區間內的數的因數最大的數以及最大的因數 正因數 的個數?這樣的話,資料大一些,組數多一些,可能就要tle,所...