摘要:
题目求φ(a)+φ(a+1)+...+φ(b-1)+φ(b)。 用欧拉筛选法O(n)计算出n以内的φ值,存个前缀和即可。 φ(p)=p-1(p是质数),小于这个质数且与其互质的个数就是p-1; φ(p*a)=(p-1)*φ(a)(p是质数且p不能整除a),因为欧拉函数是积性函数,φ(p*a)=φ(p 阅读全文
摘要:
题目求小于n不与n互质的正整数的和。 一个结论是小于n与n互质的正整数和=φ(n)*n/2。 因为如果a与n互质,那么n-a也与n互质,即若gcd(a,n)=1则gcd(n-a,n)=1,反证法即可证明。 也就是说小于n与n互质的数是成对的,且它们的和是n,共有φ(n)/2对。 所以小于n与n互质的 阅读全文
摘要:
题目问有多少个小于n的正整数与n互质。 这个可以用容斥原理来解HDU4135。事实上这道题就是求欧拉函数$φ(n)$。 $$φ(n)=n(1-1/p_1)(1-1/p_2)\dots(1-1/p_m)\tag{p为n的质因子}$$ 这个通项公式可以通过容斥原理的解法来验证。那么利用这个通项就能在$O 阅读全文
摘要:
题目问[1,n]有几个数是$m^k (k>1)$形式。 如果这样考虑,m已知k未知,对于每一个m统计其k的数量即$\lfloor log_mn \rfloor$个,再容斥,然而m太多了,完全不可行。 而k远远比m还少,应该反过来考虑,m未知k已知,对于每一个k统计其m的数量,即$\lfloor \s 阅读全文