摘要: 与HDU2841大同小异。 设左下角的点为(1,1),如果(1,1)->(x,y)和(1,1)->(x',y')向量平行,那只有在前面的能被看见。然后就是求x-1、y-1不互质的数对个数。 而x或y等于1可以另外讨论一下,就是当n不等于1时就有两个,n等于1就特判一下。 那么就用欧拉函数计数了:枚举 阅读全文
posted @ 2016-02-05 22:21 WABoss 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 题目求φ(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 阅读全文
posted @ 2016-02-05 22:10 WABoss 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 题目求小于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互质的 阅读全文
posted @ 2016-02-05 20:09 WABoss 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 题目问有多少个小于n的正整数与n互质。 这个可以用容斥原理来解HDU4135。事实上这道题就是求欧拉函数$φ(n)$。 $$φ(n)=n(1-1/p_1)(1-1/p_2)\dots(1-1/p_m)\tag{p为n的质因子}$$ 这个通项公式可以通过容斥原理的解法来验证。那么利用这个通项就能在$O 阅读全文
posted @ 2016-02-05 17:44 WABoss 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 题目问[1,n]有几个数是$m^k (k>1)$形式。 如果这样考虑,m已知k未知,对于每一个m统计其k的数量即$\lfloor log_mn \rfloor$个,再容斥,然而m太多了,完全不可行。 而k远远比m还少,应该反过来考虑,m未知k已知,对于每一个k统计其m的数量,即$\lfloor \s 阅读全文
posted @ 2016-02-05 09:08 WABoss 阅读(259) 评论(0) 推荐(1) 编辑