基础数论
文章平均质量分 53
sorrythanku
这个作者很懒,什么都没留下…
展开
-
逆元,小白赛9(A.签到)
逆元用在哪呢?比如说(a/b)%p。此时b过大,我们就要把除法变为乘法,就是找一个特殊的数乘上这个特殊的数就能起到除法的效果。例如T≡(a/b)(mod p)。即我们要找到的是b的逆元(如果看不懂我一步一步解释) 先说下整除的概念:如果a被b整除,即a是b的倍数,那么我们写成b|a 然后是同余的概念:若给定正整数p,整数a,b。如果满足p|(a-b)我们就称a与b对模p同余记为a≡b(mod p)...原创 2018-11-18 10:33:10 · 152 阅读 · 0 评论 -
HdoJ 2095&&异或讲解
HdoJ 2095&&异或讲解 ~~ find your present Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 28686 Accepted Submission(s): 11256 Problem Des...原创 2018-09-19 20:54:44 · 372 阅读 · 1 评论 -
Codeforces Round #525 (Div. 2) C. Ehab and a 2-operation task
题意: 给定一个长度为 n 的数组a[ ],并且有两种操作: ①将前 i 个数全都加上 x; ②将前 i 个数全都 mod x 要求用不超过 n+1 次操作,使得数组 a[ ] 严格单调递增。 思路: 对于每个数a[ i ],实施操作 a[ i ]%( a[ i ]-i ),使a[ i ] = i,最终序列便是 1~n 的排列,当然严格单调递增啦。 但是我们要怎么做呢使得当a>b时。a%...原创 2018-12-05 11:11:01 · 134 阅读 · 0 评论 -
快速幂
最近一场比赛又把快速幂给忘了,那么就写一次好了 首先,快速幂的目的就是做到快速求幂,假设我们要求a^b,按照朴素算法就是把a连乘b次,这样一来时间复杂度是O(b)也即是O(n)级别,快速幂能做到O(logn),快了好多好多。它的原理如下: 1. 快速幂是可以拆成二进制的 12=2^3 + 2^2==1100(2) 可知公式poww(a,b)=a^b ==a^(b拆成二进制) 那么a^12= =...原创 2019-03-10 22:51:38 · 75 阅读 · 0 评论 -
快速乘
求两个数 ab mod p,但是ab会爆long long的情况 long long multi(long long x,long long y,long long mod) { long long tmp=(x*y-(long long)((long double)x/mod*y+1.0e-8)*mod); return tmp<0 ? tmp+mod : tmp; } ...原创 2019-03-10 23:02:53 · 111 阅读 · 0 评论 -
a^b mod c(快速幂与快速乘)
链接:https://ac.nowcoder.com/acm/contest/392/B 来源:牛客网 找到了心仪的小姐姐月月后,华华很高兴的和她聊着天。然而月月的作业很多,不能继续陪华华聊天了。华华为了尽快和月月继续聊天,就提出帮她做一部分作业。 月月的其中一项作业是:给定正整数A、B、P,求 A B mod P ABmodP的值。华华觉得这实在是毫无意义,所以决定写一个程序来做。但是华华并不会...原创 2019-03-10 23:13:21 · 1230 阅读 · 0 评论 -
矩阵快速幂hdu 1575
矩阵快速幂就是求方阵A的n次方,一定得是方阵.复杂度为logn,对角线相加就是矩阵的值 主要是套模板,下面给出我收藏的模板 struct mat{ int m[maxn][maxn]; }unit; //矩阵乘法 mat operator * (mat a,mat b) { mat ret; ll x; for(int i=0;i<n;i++) for...原创 2019-05-20 17:57:54 · 146 阅读 · 0 评论