这道题比较考验(高中)数学知识,主要用到乘法逆元、多项式奇数项之和与快速幂取模三个知识点。 乘法逆元:设整数a、x、m(a与m互质),若x*a=1 mod m则x就是a对m的乘法逆元。一个数除以a后对m取模的结果等于这个数乘以a对m的逆元对m取模的结果。 乘法逆元的计算要用到扩展欧几里得算法: 基本 ...
分类:
其他好文 时间:
2017-09-17 13:50:26
阅读次数:
299
一、概念引入 GCD,全名Greatest common divisor(最大公因数)。 我们以gcd(a,b)表示a与b的最大公因数。 二、欧几里得算法(又名辗转相除法) 用途: 求解gcd(a,b) 核心公式: gcd(a,b) = gcd(b,a mod b) (其中a mod b > 0) ...
分类:
编程语言 时间:
2017-09-16 18:49:06
阅读次数:
269
题目链接:点我点我 题意:中文题 题解:由题意我们可以构造出方程:Ax+By=N+1,用扩展欧几里得算出最小的非负整数解x(x确定,y也就确定了),然后再把剩余的数分配掉(以它们的最小公倍数去分)。 ...
分类:
其他好文 时间:
2017-09-16 17:26:02
阅读次数:
177
我居然现在还记不住扩欧的板子,我太弱啦! 扩展欧几里得算法解决的是这样的问题: 给定一个不定方程组ax+by=gcd(a,b),求他的一组整数解 先给出实现代码 但实际正常题目是没有需要你求出一组不定方程的所有解的..而这个算法的经典应用就是求解乘法逆元 逆元:如果a*x≡1(mod p),则称a是 ...
分类:
编程语言 时间:
2017-09-15 23:49:38
阅读次数:
374
这道题当时感觉是一道几乎纯考扩展欧几里得的题,然而板子忘了……于是乎这道题被我放在第二个打。 不得不说出题人相当良心,给了大把的暴力分前20分就是c-1,20~40暴力枚举,40~60输出1。白送的60分就到手了。 然而难得是后40分,我们可以先通过扩展欧几里得先求出x最小整数解,然后首先,自己本身 ...
分类:
其他好文 时间:
2017-09-11 19:42:46
阅读次数:
165
总结一下常用的模板,方便自己使用。 1.最大公约数(欧几里得)和最小公倍数 2.扩展欧几里得 3.并查集 4.快速幂 5.素数筛 6.三大基础背包 7.欧拉函数 8.最短路 9.线段树 10.枚举全排列 ...
分类:
其他好文 时间:
2017-09-10 14:19:11
阅读次数:
279
具体内容见紫书p313-p314 一、扩展欧几里得算法 思想:找出一对整数(x,y),使得ax+by=gcd(a,b) 举例:当“a=6,b=15”时,gcd(6,15)=3,故可以得到解“x=3,y=-1”,当然还有其他解“x=-2,y=1”。 程序: 下面方程中的a,b,c为任意整数。 结论1: ...
分类:
编程语言 时间:
2017-09-10 12:41:41
阅读次数:
225
一:欧几里得算法(辗转相除法) 基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。 证明: a可以表示成a = kb + r,则r = a mod b 假设d是a,b的一个公约数,则有 d|a, d|b,而r = a ...
分类:
编程语言 时间:
2017-09-09 10:44:57
阅读次数:
306
原题链接:https://www.luogu.org/problem/show?pid=1082#sub 此题乃exgcd的模板题,当然也可以用费马小定理做(赤裸裸的逆元啊) 还记得exgcd是啥吗?扩展欧几里得算法,用来求解形似ax+by = gcd(a,b)一类方程的解。 那和这个题有什么关系啊 ...
分类:
其他好文 时间:
2017-09-09 00:50:10
阅读次数:
218
题目链接 定理:对于方程\(ax+by=c\),等价于\(a*x=c(mod b)\),有整数解的充分必要条件是c是gcd(a,b)的整数倍。 ——信息学奥赛之数学一本通 避免侵权。哈哈。 两只青蛙跳到一格才行,所以说 \(x+mt=y+nt(mod l) \) \((x-y)+(m-n)t=0(m ...
分类:
其他好文 时间:
2017-09-05 21:56:24
阅读次数:
163