矩阵快速幂
摘要:题目背景 矩阵快速幂 题目描述 给定 n
× n的矩阵A,求
Ak 输入格式 第一行两个整数n,k接下来n行,每行n个整数,第i行的第j个数表示
Ai,j. 输出格式 输出
Ak 共n行,每行n个数,第i行第j个数表示$\langle{Ak}\rangle
阅读全文
posted @
2020-07-14 11:21
Allen_lml
阅读(118)
推荐(0) 编辑
组合数性质
摘要:1.C(n+m,n)=C(n+m,m) 2.C(n,m)=c(n-1,m-1)+C(n-1,m) 3.C(n+r+1,r)=C(n+r,r)+C(n+r-1,r-1)+...+C(n,0) 4.C(n,l)*C(l,r)=C(n,r)*C(n-r,l-r) 5.C(n,0)+C(n,1)+...+C
阅读全文
posted @
2020-04-07 14:41
Allen_lml
阅读(681)
推荐(0) 编辑
BSGS
摘要:求a^x≡b(mod p)的一组解,p≤10^9且为质数 不妨设a^1,a^2....a^sqrt(p)为1号序列 a^sqrt(p)+1...a^2sqrt(p)为2号序列 以此类推 首先我们枚举a^1,a^2....a^sqrt(p)( mod p)即1号序列mod p的值 如果有,就说明找到了
阅读全文
posted @
2020-04-05 17:20
Allen_lml
阅读(133)
推荐(0) 编辑
莫比乌斯反演(概念)
摘要:如无特殊说明,本文 * 均代表卷积 (不懂卷积请转:https://www.cnblogs.com/liumengliang/p/12623485.html) 概念:如果g(n)=Σd|nf(d),则f(n)=Σd|nμ(d)g(n/d) (因为I(n)=1),所以可以在g(n)=Σd|nf(d)右
阅读全文
posted @
2020-04-05 12:27
Allen_lml
阅读(147)
推荐(0) 编辑
狄利克雷卷积
摘要:φ:欧拉函数,μ:莫比乌斯函数 一、定义:(f*g)(n)=Σd|nf(d)g(n/d) 例如:(f*g)(6)=f(1)*g(6)+f(2)*g(3)+f(3)*g(2)+f(6)*g(1) 二、性质: 1.交换律:f*g=g*f 2.结合律:(f*g)*h=f*(g*h) 3.分配率:(f+g)
阅读全文
posted @
2020-04-02 22:28
Allen_lml
阅读(379)
推荐(2) 编辑
积性函数(求欧拉函数和莫比乌斯函数的值)
摘要:利用素数筛法求欧拉函数和莫比乌斯函数的值: 如果函数f满足gcd(a,b)=1时,有f(ab)=f(a)*f(b),则f叫作积性函数 如果取消互质的条件,则叫完全积性函数。 前置知识: 1.欧拉函数:φ(n)表示1~n中与n互质的数的个数 计算公式为:φ(n)=n*(1-1/p1)*(1-1/p2)
阅读全文
posted @
2020-03-31 15:26
Allen_lml
阅读(282)
推荐(1) 编辑
exgcd(扩展欧几里得)
摘要:给定a,b,设g=gcd(a,b),求x,y满足x*a+y*b=g(x,y∈Z) 本方法用的是辗转相除的思想。 设(x+t)*a+(y+r)*b=g 只要t=k*b/gcd(a,b),r=-k*a/gcd(a,b)就满足等式 通解为:(x+k*b/gcd(a,b),y-k*b/gcd(a,b)).
阅读全文
posted @
2020-03-24 16:07
Allen_lml
阅读(162)
推荐(1) 编辑
线性求逆元(简略数学证明)
摘要:求1~n所有数的逆元: 假设1~i-1的逆元已求出,设p÷i=d……r(商d余r),则p=i*d+r。其中r=p%i。 对p=i*d+r,等式两边同时%p,得到0=(i*d+r)%p。 即为0≡i*d+r(mod p)(同余有一条性质:如果a≡b(mod m),x≡y(mod m),则有ax≡by(
阅读全文
posted @
2020-03-24 14:56
Allen_lml
阅读(268)
推荐(1) 编辑
Miller-Rabin素性测试(判定素数)
摘要:若n为素数,取a<n,设n-1=d*2^r,则要么a^d≡1(mod n),要么∃0≤i<r,s.t.(s.t.是满足或使得的意思)a^(d*2^i)≡-1(mod n). 思路:找k个数,全部进行上述两个测试(至少满足一个),若都能通过测试,则可以认为n是素数。 //该方法存在一定的问题,当然,出
阅读全文
posted @
2020-03-23 21:34
Allen_lml
阅读(297)
推荐(1) 编辑
逆元(摘于https://blog.csdn.net/li1615882553/article/details/80001473)
摘要:逆元定义逆元和我们平时所说的倒数是有一定的区别的,我们平时所说的倒数是指:a*(1/a) = 1,那么逆元和倒数之间的区别就是:假设x是a的逆元,那么 a * x = 1(mod p),也就是只多了一个取余的操作,这个取余的操作,就会保证a的逆元不一定只是a的倒数。那么我们的逆元有什么作用呢? 并且
阅读全文
posted @
2020-03-22 21:00
Allen_lml
阅读(179)
推荐(1) 编辑
矩阵快速幂代码(只有代码)
摘要://矩阵快速幂: struct matrix { int n,m; int z[233][233]; matrix() { n=m=0; memset(z,0,sizeof(z)); } }; matrix operator*(const matrix &a,const matrix &b) { m
阅读全文
posted @
2020-03-20 21:55
Allen_lml
阅读(235)
推荐(1) 编辑
高斯消元
摘要:算法分析 如果给定一个形如以下式子的多元方程式
{2x+y−z=8−3x−y+2z=11−2x+y+2z=−1⎩⎪⎨⎪⎧2x+y−z=8−3x−y+2z=11−2x+y+2z=−1 我们要首先提出各项的系数 因为我们知道,高斯消元其实只跟
阅读全文
posted @
2020-03-20 19:50
Allen_lml
阅读(155)
推荐(1) 编辑
noip数学基础
摘要:.. .. .... .. .. .... .. .. .... .. .. .... .... .. ..前言 同余基础 进制转换 高精度 排列组合与计数问题noip 基础数学赵和旭清华大学2019 年 7 月 17 日noip 基础数学 清华大学.. .. .... .. .. .... ..
阅读全文
posted @
2019-07-18 19:48
Allen_lml
阅读(136)
推荐(1) 编辑