随笔分类 -  数论 - 数论函数及莫比乌斯反演

摘要:题意:求∑ni=1gcd(i,n) 首先,gcd(i,n)肯定是n的约数。所以我们可以考虑枚举每个n的约数d,然后看有多少个gcd(i,n)=d。这个式子又可以化成gcd(i/d,n/d)=1。而它,就相当于ϕ(n/d)。所以,答案就是∑d|nϕ(n/d),其中ϕ(x)可以在O(x√)的时间内求出。... 阅读全文
posted @ 2016-01-06 00:12 Armeria 阅读(153) 评论(0) 推荐(0)
摘要:题意:对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y)=k。 首先用容斥原理将一个询问拆成4个。然后,一种可行的转化是求一种可行的转化是先令k=1,即求1≤floor(x/k)≤n 且 1≤floor(y/k)≤m 的互质数对(x,y)的数量。然后我们... 阅读全文
posted @ 2016-01-05 19:24 Armeria 阅读(184) 评论(0) 推荐(0)
摘要:状态很不好。。容我再羞耻MAX一下。。sb题,然而一开始不加思考地写了紫书上的做法,然后华丽丽地T了。。当然核心都是用欧拉函数解决问题。题目要求的显然是满足(x, y)=1 (x#include #include using namespace std; #define rep(i,a,b) for... 阅读全文
posted @ 2015-12-28 23:12 Armeria 阅读(174) 评论(0) 推荐(0)