gcd
文章平均质量分 64
Jeromiewn
不可以!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
hdu 1787 GCD Again (欧拉函数在线模板)
欧拉函数定义:小于或等于n的数中,与n互质的数的数目 如,euler(16)=8 1 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 · 819 阅读 · 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 · 641 阅读 · 0 评论 -
hdu 2669 Romantic 扩展欧几里得求线性方程模板题
a,b互质,所以gcd=1 即求ax+by=1,用扩展gcd直接求 #include #include #define LL long long using 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 · 473 阅读 · 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 long using namespace std; LL exgcd(LL a,原创 2017-01-23 20:06:55 · 377 阅读 · 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 · 540 阅读 · 0 评论 -
hdu 5976 Detachment 逆元+二分+数学
给定一个数,让你分成互不相等的n个数(n为自然数),使这些数的乘积最大,输出最大乘积。 因为分的数不能相同,所以发现分的数越小越好,从2开始枚举分成2,3,4,5...... x=2+3+4+....+n+s(会剩下一个s) 枚举s三种情况 1.s==0 2.s==n 3.s 需要预处理, add2到n个相加 mul2到n个相乘 处理某些值的时候要用逆元,求逆元不能超时。。原创 2017-01-24 00:01:23 · 451 阅读 · 0 评论
分享