摘要:
题目链接 题目要你求sigma gcd(i,N) 1<=i<=N 首先要知道一个式子gcd(i,N)=p => gcd(i/p,N/p)=1 以N=12举例 gcd=1的个数就是与12互质的数字的个数,也就是12的欧拉函数值,12与1,5,7,11的gcd gcd=2的个数包含了12/2=6的欧拉函 阅读全文
摘要:
题目链接 计算gcd(x,y)为素数的(x,y)有多少对 首先有一个必要的式子,gcd(x,y)=素数p => gcd(x/p,y/p)=1 所以若y>x,在确定y的情况下,所有满足与y/p互质的数的个数,即y/p的欧拉函数值 所以我们可以先筛一遍欧拉函数,并求前缀和,方便之后使用 这样sum[n/ 阅读全文
摘要:
题目链接 这道题可以发现一个规律,那就是牌x的位置 f[x]=x*2^m%(n+1)=l 也就是x*2^m≡l mod(n+1) 2^m与(n/2+1)^m在mod n+1 条件下互为逆元 所以x≡l*(n/2+1)^m 我们知道l,n,m,所以反手就是一个快速幂 不过这道题很坑,要用到快速乘,不然 阅读全文
摘要:
题目链接 由题意得 ans+d≡p mod23 ans+d≡e mod28 ans+d≡i mod33 然后套模板就可以过了 题目代码 阅读全文
摘要:
题目链接 找出2-n的所有欧拉函数值相加就能得到答案 不过多亏了这道题没卡时 题目代码 阅读全文
摘要:
题目链接 题目含义 找出一个数最大素数因子的序号 题目分析 我们可以在筛素数的同时,用这个素数标记它的倍数,说明这些倍数一定有它这个素数因子 这样筛一遍下来,一个数大的素数因子就会覆盖它小的素数因子 题目代码 阅读全文
摘要:
题目链接 A/B≡x mod 9973 要我们求出这个x 转换式子就是 A/B=x+9973*k A/B=x+9973*k 因为B整除A,所以A=B*X+9973*k*B 取模得到 A-B*x≡0 mod 9973 => n-B*x≡0 x显然在0-9972,遍历一下就能找到最小的x了 题目代码 阅读全文