https://en.wikipedia.org/wiki/Modular_exponentiation 该算法在一些数论题中十分有用。算法用于快速求解同余方程 $ c = a^b \ mod \ M $ ,其中 a, b, M 已知。 code: ...
分类:
其他好文 时间:
2018-07-29 15:18:54
阅读次数:
128
题意 有一部电梯,最初停在1层。 电梯有4个按键,上升a,b,c层,回到一层。 求从一层出发。能到达1~h的哪些楼层。 (h<=1018,a,b,c<=105) 题解 这种h能大的图论,一眼就知道是同余类。 以模a[1]的余数为下标建立数组,数组的意义是模a[1]为下标的最小的能到达的值。 显然之后 ...
分类:
其他好文 时间:
2018-07-28 21:46:42
阅读次数:
133
在上一次总结过后鸽了没多久其实是快要开学赶紧来肝上两篇 今日内容——同余方程和扩展欧几里得算法 同余 同余的定义:若存在两个整数a,b,使得(a - b) MOD P为0,则称作a与b在MOD P的情况下同余 换种通俗的说法,就是,a MOD P与b MOD P相等 记作 \( a\equiv b ...
分类:
编程语言 时间:
2018-07-25 01:09:28
阅读次数:
198
CRT是用于解一组同余方程: $ x ≡ c1 ( mod\ m1)$ $ x ≡ c2 ( mod\ m2)$ ... $ x ≡ cn ( mod\ mn)$ 当模数两两互质的时候,显然可以直接用朴素CRT合并 那当模数不互质的时候,就需要推一波式子采用扩展CRT了 考虑合并两个方程: $ x ...
分类:
其他好文 时间:
2018-07-24 11:18:12
阅读次数:
204
一、概念 我们把所有与整数a模n同余的整数构成的集合叫做模n的一个剩余类,记作[a].并把a叫做剩余类[a]的一个代表元. 二、与同余的关系 证明:对任意c∈[a],a≡c(mod n),又因为a≡b(mod n),所以b≡c(mod n),从而c∈[b]. 同理,对任意c∈[b],也可得出c∈[a ...
分类:
其他好文 时间:
2018-07-23 14:57:08
阅读次数:
1922
https://www.zybuluo.com/ysner/note/1221126 单个同余方程 求解形如$Ax\equiv B(mod\ M)$的最小正整数解。 解释一下: $Ax\equiv B(mod\ M)$ $Ax=My+B$ $Ax+My=B$(正负号不重要) 于是就是解$Ax+My= ...
分类:
其他好文 时间:
2018-07-20 23:36:48
阅读次数:
192
式子a≡b(mod n)称为a和b关于模n同余,它的充要条件是a-b是n的整数倍,即a-b=zn(其中z取整数)。 而模线性方程组ax≡b(mod n)可以写成ax-b=zn(其中z取整数),移项可得 ax-zn=b,也即二元一次方程ax+by=c的形式,利用拓展欧几里得算法(extgcd)可以求解 ...
分类:
编程语言 时间:
2018-07-20 21:16:20
阅读次数:
172
#include<stdio.h>//不能连续复合运算,要保存结果 #include<stdlib.h>//所以一个技巧就是用strcpy来代替等号 #include<string.h>//c=a+b改写为strcpy(c,BigAdd(a,b)) #include <iostream> using ...
分类:
其他好文 时间:
2018-07-18 23:25:46
阅读次数:
164
http://poj.org/problem?id=2635 题意 给一个大数K,K一定为两个素数的乘积。现给出一个L,若K的两个因子有小于L的,就输出BAD,并输出较小的因子。否则输出GOOD 分析 1.转换进制 直接用十进制计算的话会TLE,因此转成千进制。即K=1234567899变成K=[9 ...
分类:
其他好文 时间:
2018-07-18 20:39:43
阅读次数:
161
题目描述 我知道部分同学最近在看中国剩余定理,就这个定理本身,还是比较简单的:假设m1,m2,…,mk两两互素,则下面同余方程组:x≡a1(mod m1)x≡a2(mod m2)…x≡ak(mod mk)在0<=<m1m2…mk内有唯一解。记Mi=M/mi(1<=i<=k),因为(Mi,mi)=1, ...
分类:
其他好文 时间:
2018-07-17 12:42:02
阅读次数:
116