题目地址:POJ 2142
题意:有两种类型的砝码质量分别为a和b,要求称出质量为d的物品,要求a的数量x和b的数量y的和x+y最小,若有多个x+y的值,取ax+by最小的。
思路:我们应该求ax+by=d。这里我们应用扩展欧几里德求出ax+by=gcd(a,b),那么ax/gcd(a,b)+by/gcd(a,b)=1,然后求出来特解,令x=x*n,把x转化为最小正值,即x=(x%b+b)%b,...
分类:
其他好文 时间:
2015-08-25 21:46:50
阅读次数:
147
【POJ 2115】 C Looooops
输入四个数a b c k
一个循环for(a;;a += c) if(a == b) break;
a在k进制内循环 即0
可以得到一个方程 满足题意的话 a+c*x = b(mod 2^k)
即 c*x = b(mod 2^k) + a = (b+a)(mod 2^k) 同余
就变成求c跟2^k的逆元了 跑一遍扩欧即可 注意要变换...
分类:
其他好文 时间:
2015-08-21 15:49:17
阅读次数:
185
这个困扰了自己好久,终于找到了解释,还有自己改动了一点点,耐心看完一定能加深理解扩展欧几里德算法-求解不定方程,线性同余方程。 设过s步后两青蛙相遇,则必满足以下等式: (x+m*s)-(y+n*s)=k*l(k=0,1,2....) 稍微变一下形得: (n-m)*s+k*l=x-y...
分类:
编程语言 时间:
2015-08-20 12:33:42
阅读次数:
136
kb2.4.1扩展欧几里德法#include#includeusing namespace std;//返回d=gcd(a,b);和对应于等式ax+by=d中的x,ylong long extend_gcd(long long a,long long b,long long &x,long long...
分类:
其他好文 时间:
2015-08-19 19:12:18
阅读次数:
128
一、欧几里德算法:即辗转相除法,用于求两个整数a,b的最大公约数见:最大公约数模板二、扩展欧几里德算法:对于不完全为0的非负整数a,b,gcd(a,b)表示a,b的最大公约数,必然存在整数对x,y,使得gcd(a,b)=ax+by。kb2.3扩展欧几里德算法(求ax+by=gcd的解以及逆元)#in...
分类:
编程语言 时间:
2015-08-19 19:09:10
阅读次数:
117
2242: [SDOI2011]计算器Time Limit: 10 Sec Memory Limit: 512 MB
Submit: 2077 Solved: 812
Description你被要求设计一个计算器完成以下三项任务:
1、给定y,z,p,计算Y^Z Mod P 的值;
2、给定y,z,p,计算满足xy≡ Z ( mod P )的最小非负整数;
3、给定y,z,p,计算满足Y^...
分类:
其他好文 时间:
2015-08-17 17:26:26
阅读次数:
148
求C(n,m)%mod的方法总结1.当n,m都很小的时候可以利用杨辉三角直接求。
C(n,m)=C(n-1,m)+C(n-1,m-1);2.利用乘法逆元。
乘法逆元:(a/b)%mod=a*(b^(mod-2)) mod为素数。
逆元可以利用扩展欧几里德或欧拉函数求得: 1).扩展欧几里德:b*x+p*y=1 有解,x就是所求 2).费马小定理:b^(p-1)=1(mod p),故b*b^...
分类:
其他好文 时间:
2015-08-16 23:08:39
阅读次数:
403
一、若a与n互素,那么可以用扩展欧几里德和欧拉函数求出a对于n的逆元。
ax≡1(mod n),x为a对于n的逆元。
用欧几里德求逆元x:
//a与n互素,逆元才有解
#include
#include
using namespace std;
typedef long long LL;
void exgcd(LL a,LL b,LL &d,LL &x,LL &y)
{
if(!b)...
分类:
其他好文 时间:
2015-08-15 18:26:34
阅读次数:
97
扩展欧几里德非常经典,但是也有时候挺难用的。一些东西一下子想不明白。。
于是来了一个逆天模板。。只要能列出Ax+By=C,就能解出x>=bound的一组解了~
LL exgcd(LL a, LL b, LL &x, LL &y) {
if(b == 0) {
x = 1; y = 0;
return a;
}
LL r = exgcd(b...
分类:
其他好文 时间:
2015-08-15 10:25:48
阅读次数:
115
费马小定理(Fermat Theory)是数论中的一个重要定理,其内容为: 假如p是质数,且Gcd(a,p)=1,那么 a(p-1) ≡1(mod p)。即:假如a是整数,p是质数,且a,p互质(即两者只有一个公约数1),那么a的(p-1)次方除以p的余数恒等于1。扩展欧几里德算法是用来在已知a, ...
分类:
编程语言 时间:
2015-08-14 11:40:14
阅读次数:
180