2020年2月5日
摘要: a,b都非常大,但是p较小 前边两种方法都会超时的 N^2 和NlongN 可以用卢卡斯定理 P*longN*longP 定义: 代码: import java.util.Scanner; public class Main{ static int p; //快速幂 static long quic 阅读全文
posted @ 2020-02-05 19:29 qdu_lkc 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 数据范围较大, a,b都是1e5 直接根据公式预处理 1/i就是求i的逆元(逆元求法:mod为质数,逆元就是 i^(mod-2)%mod ) O(N*logN) import java.util.Scanner; public class Main{ static final int N=10000 阅读全文
posted @ 2020-02-05 18:24 qdu_lkc 阅读(280) 评论(0) 推荐(0) 编辑
摘要: O(n^2) 数据范围 a*b =4e6 根据组合数公式: 代码: import java.util.Scanner; public class Main{ static final int N=2005; static final int mod=(int)1e9+7; static int c[ 阅读全文
posted @ 2020-02-05 17:50 qdu_lkc 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 给定n组数据ai,bi,mi,对于每组数求出一个xi,使其满足ai∗xi≡bi(mod mi),如果无解则输出impossible。 输入格式 第一行包含整数n。 接下来n行,每行包含一组数据ai,bi,mi。 输出格式 输出共n行,每组数据输出一个整数表示一个满足条件的xi,如果无解则输出impo 阅读全文
posted @ 2020-02-05 16:19 qdu_lkc 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 斐蜀定理: 对于任意的正整数a,b,一定存在非零整数x,y,使得ax+by=gcd(a,b) 扩展欧几里得算法用于求任意一对x和y 给定nn对正整数a,b,对于每对数,求出一组x,y,使其满足a∗x+b∗y=gcd(a,b) 代码: import java.util.*; public class 阅读全文
posted @ 2020-02-05 13:56 qdu_lkc 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 乘法逆元定义: b存在乘法逆元的充要条件是b与模数m互质 原因:b * x ≡ 1 (mod m) 如果b和m不互质,则 b * x肯定是m的倍数,b * x%m=0 所以b%m==0 ,b不存在乘法逆元 1.当n为质数时,可以用快速幂求逆元: a / b(整除) ≡ a * x (mod m) 两 阅读全文
posted @ 2020-02-05 11:06 qdu_lkc 阅读(443) 评论(0) 推荐(0) 编辑