省選專練SDOI2015約數個數和

2021-08-17 06:51:42 字數 868 閱讀 1262

然後對於trunc(n/d)只有根號n個解,跳就完了。

#include#include#include#include#includeusing namespace std;

#define ll long long

const int maxn=55000;

bool vis[60000]=;

ll prim[60000]=;

ll cnt=0;

ll mu[60000]=;//莫比烏斯函式

ll sum_mu[60000]=;//莫比烏斯函式的字首和

ll sum_f[60000]=;//約數的字首和

ll e[60000]=;//當前最大此項質因數的係數

ll f[60000]=;//約束和

void prime_pre()

for(ll j=1;j<=cnt&&prim[j]*i<=maxn;j++)

mu[i*prim[j]]=-mu[i];

f[i*prim[j]]=f[i]*f[prim[j]];

e[i*prim[j]]=1;

} } for(ll i=1;i<=maxn;i++)

}int main()

ll ans=0;

for(ll i=1,nxt;i<=n;i=nxt+1)

printf("%lld\n",ans);

} }

SDOI2015 約數個數和

description input 輸入檔案包含多組測試資料。第一行,乙個整數t,表示測試資料的組數。接下來的t行,每行兩個整數n m。output t行,每行乙個整數,表示你所求的答案。sample input 2 7 45 6 sample output 110 121data constrai...

SDOI2015 約數個數和

慢慢化柿子吧 要求的是這個 sum n sum md ij 神奇的約數個數函式有乙個這樣的性質 d ij sum sum x,y 1 試著從唯一分解定理的角度去理解,將 i,j 分別分解質因數 顯然 d ij 應該等於每乙個 p 在 i,j 中分解出來的指數加起來加1再相乘 所以分別列舉所有約數的話...

SDOI2015 約數個數和

portal 考慮這樣乙個式子 d ij sum sum x bot y 怎麼證明?一開始我們一定會想到 d ij sum sum 1 但這樣會計算重複.於是我們考慮 d ij sum sum j 1 這樣每個因數就變成 frac 如果x和y不互質.那麼就會有 frac frac 如果xp,yp同時...