首先模拟一遍得到n个同余方程,然后用扩展欧几里得求出最小的可行解即可,时间复杂度$O(n^2)$。#include#define N 30int n,i,j,k,x,y,a[N],b[N],d[N],ans;namespace Solve{int flag=1,k=1,m=0,d,x,y;int e...
分类:
其他好文 时间:
2015-08-15 18:06:33
阅读次数:
112
题意:两只青蛙同向跳,起点是x,y,每次分别跳m,n米,地球周长是L,求最少跳几次相遇。
分析:
把式子写好就发现是一个一元一次同余方程。用扩展欧几里得算法来求。这题很基本得会。
代码:
#include
#include
#include
#include
#include
#include
#define INF 1000000007
using namespace std;
long...
分类:
编程语言 时间:
2015-08-14 06:30:49
阅读次数:
180
题意:给定for循环的初始值,结束值和增量,还有一个模,求最少的循环次数。
分析:
读完题后应该就知道是一个同余的概念,所以就是解一个一元一次同余方程,像上题一样用扩展欧几里得算法。这题的trick点是k最大为32,那么2^32超出了int,要用long long,所以在1
代码:
#include
#include
#include
#include
#include
#include
...
分类:
编程语言 时间:
2015-08-14 06:29:55
阅读次数:
177
线形同余方程系列 求解形如 : ax ≡ b (mod n) 方程可以变形为 : ax – ny = b; 对于这个方程的求解可以使用扩展欧几里得定理做,有解的首要条件便是 b 能够整除 gcd(a ,n); 证明如下: 如果b 不能够整除 (a ,n)...
分类:
其他好文 时间:
2015-08-09 08:22:35
阅读次数:
267
本题地址:http://www.luogu.org/problem/show?pid=1082【NOIP 2012 提高组 第二天 第一题】【题目描述】求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解。【输入输出格式】输入格式:输入只有一行,包含两个正整数 a, b,用一个空格隔开...
分类:
其他好文 时间:
2015-08-06 22:11:35
阅读次数:
102
标准同余方程组,只是在求出值后如果为0,应该输出Mi的Lcm; #include #include #include #include #include using namespace std; typedef long long LL; LL Ai[50],Ri[50]; LL gcd(LL a,...
分类:
其他好文 时间:
2015-08-05 14:46:43
阅读次数:
106
/* 同余方程组为 X = ri (mod ai) 在范围内求X的个数 先求出特解 X0; 求出 ai数组的LCM; 则有 Xi = X0+LCM 均能满足方程组,判断是否在范围内!! */ #include #include #include #include #include using nam...
分类:
其他好文 时间:
2015-08-05 12:41:18
阅读次数:
142
题目描述求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解。输入输入文件为 mod.in。输入只有一行,包含两个正整数 a, b,用一个空格隔开。输出输出文件为 mod.out。输出只有一行,包含一个正整数 x0,即最小正整数解。输入数据保证一定有解。样例输入3 10样例输出7提示【...
分类:
其他好文 时间:
2015-08-01 20:21:46
阅读次数:
125
这个题乍一看跟剩余定理似的,但是它不满足两两互素的条件,所以不能用剩余定理,也是给了一组同余方程,找出一个X满足这些方程,如果找不到的话就输出-1因为它不满足互素的条件,所以两个两个的合并,最后合成一个。题目给定的是M % m1 = r1M % m2 = r2......M % mn = rn只需将...
分类:
其他好文 时间:
2015-08-01 18:48:53
阅读次数:
107