![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
gcd
Jeromiewn
不可以!
展开
-
hdu 1787 GCD Again (欧拉函数在线模板)
欧拉函数定义:小于或等于n的数中,与n互质的数的数目如,euler(16)=81 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16,其中与n互质(与n的最大公因数是1的)的有1 3 5 7 9 11 13 15共8个,其中n本身显然不是本题,显然是求n中剩下的数目,在减去1。即n-euler(n)-1在线求就好,不存在数组里。根据欧拉函数原创 2016-10-24 22:15:47 · 730 阅读 · 0 评论 -
hdu 1099 (求期望值,分数求和模拟,gcd,lcm)
看了好久题,就是求期望值。期望呀。。第一张没拿过的彩票,可能性是1第二张没拿过的,可能性是4/5,就是抽五张,在其中四张拿就可以,期望值是1/(4/5)第三张,可能性是3/5(不是16/25!!),期望值是/(3/5).所以,反正最后是求n*(1+1/2+1/3+1/4+.....+1/(n-1)+1/n)随便模拟做一下,然后22!这一个数据卡住了,连long原创 2016-11-01 00:15:20 · 570 阅读 · 0 评论 -
hdu 2669 Romantic 扩展欧几里得求线性方程模板题
a,b互质,所以gcd=1即求ax+by=1,用扩展gcd直接求#include #include #define LL long longusing namespace std;LL x,y;LL exgcd(int a,int b){ if(b==0) { x=1; y=0; return a; }原创 2017-01-23 19:45:28 · 407 阅读 · 0 评论 -
poj 1061 青蛙的约会 扩展gcd
青蛙相遇可列方程(x+mt)%L=(y+nt)%L,即(m-n)*t+k*L=y-x可转化为ax+by=c先求出ax+by=gcd,再将解得的x*(c/gcd)求出最小整数解即可:用x=(x*b+b)%b....(这里的b为b/gcd#include #define LL long longusing namespace std;LL exgcd(LL a,原创 2017-01-23 20:06:55 · 315 阅读 · 0 评论 -
hdu A/B 扩展gcd
转化为ax+by=c的形式,其中b=9973#include using namespace std;int x,y;int exgcd(int a,int b){ if(b==0) { x=1; y=0; return a; } int r=exgcd(b,a%b); int t=x;原创 2017-01-23 20:24:56 · 469 阅读 · 0 评论 -
hdu 5976 Detachment 逆元+二分+数学
给定一个数,让你分成互不相等的n个数(n为自然数),使这些数的乘积最大,输出最大乘积。因为分的数不能相同,所以发现分的数越小越好,从2开始枚举分成2,3,4,5......x=2+3+4+....+n+s(会剩下一个s)枚举s三种情况1.s==02.s==n3.s需要预处理,add2到n个相加mul2到n个相乘处理某些值的时候要用逆元,求逆元不能超时。。原创 2017-01-24 00:01:23 · 388 阅读 · 0 评论