『题解』 P1403 【[AHOI2005]约数研究】
某有银用DP吗???
其实这道题用来学习DP(动态规划)也挺好的
先创个数组a[i]用于存储每个数的约数
1 | int a[1000000]; |
再将i从1枚举到n
1 | for(int i=1;i<=n;i++) |
而且,可以从i的枚举i的倍数,且i绝对为i的倍数的约数
So。。。可设个变量j获得i的j倍
而且向前填数组的时候要注意i*j<=n即可
最后,1也算约数,所以a[i]++;
代码奉上
1 |
|
评论
GiscusTwikoo