hdu 1695 欧拉函数+容斥原理

编程不难,就没写程序了

参考http://blog.csdn.net/shiren_Bod/article/details/5787722

和http://blog.csdn.net/acdreamers/article/details/23916293

已经很详细了


关键是容斥原理的部分有点难理解

具体的思想可以用状态转移方程表示

dp(i,m) = sum(m/pj - dp(j+1, m/pj)) (j=i...k)

x的质因子为pi,设x的质因子个数为k

dp(i,m)表示因子含有pi...pk中的若干个,且不大于m的数的个数

状态转移方程的含义是:

显然m/pj表示不超过m的数中有m/pj个pj的倍数

dp(i,m) = sum(因子中仅含有pi...pj的若干个(必须有pj),而不含pj+1...pk的数的个数)

你可能感兴趣的:(数学)