码迷,mamicode.com
首页 > 其他好文 > 详细

小清新数论题泛做

时间:2019-01-19 00:49:43      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:数论   欧拉函数   多个   mat   min   枚举   欧拉   形式   iii   

1、bzoj3481 DZY Loves Math III
\(xy \equiv Q \pmod {P}\)的解的组数。以乘积形式输入\(P,Q\)
题解
一来直接把P拆质因子转成多个方程最后求乘积。
现在考虑\(xy \equiv Q \pmod {pi^{ai}}\)的解的组数。
\(p=pi^{ai}, Q=pi^{bi}\)
假设枚举x
则答案为 sigma gcd(x,p) 其中[gcd(x,p) | q]
改成枚举d=gcd(x,p)
或者说枚举gcd有几个pi因子
则答案为 sigma d* (sigma x: [gcd(x,p/d) == 1]) 其中d | gcd(p,Q)
这是因为你x含有的pi因子不能比d多,所以gcd(x,p/d) == 1
这个是欧拉函数
答案为 sigam d*φ(p/d) 其中d | gcd(p,Q)
枚举i从0至\(min(ai,bi)\),算一下就行,要用公式把φ(p^a)拆开
\(φ(p^a)=p^a*(p-1)/p (a>0)\)
注意指数为0特判即可

小清新数论题泛做

标签:数论   欧拉函数   多个   mat   min   枚举   欧拉   形式   iii   

原文地址:https://www.cnblogs.com/bestwyj/p/10290207.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!