I. 基础知识
1. 带余除法(小学)
1. 定义
对于整数 a,b,若有 q,r 满足:
a=bq+r
其中 0≤r<b,那么 r 称作 a 模 b 的 余数,记作 amodb .
顺便一提,a=⌊ab⌋ .
2. 性质
(a+b)modp=((amodp)+(bmodp))modp
(a−b)modp=((amodp)−(bmodp))modp
abmodp=((amodp)(bmodp))modp
Proof:
设 a=a′p+r0,b=b′p+r1,则有:
(a+b)modp=(r0+r1)modp=((amodp)+(bmodp))modp
(a−b)modp=(r0−r1)modp=((amodp)−(bmodp))modp
abmodp=(r0⋅r1)modp=((amodp)(bmodp))modp□
2. 最大公约数(gcd)/ 最小公倍数(lcm)
1. 定义
最大公约数:maxGs.t.pmodG=qmodG=0,则 G 为 p,q 最大公约数,记做 gcd(p,q)=(p,q)=G
最小公倍数:minLs.t.Lmodp=Lmodq=0,则 L 为 p,q 最小公倍数,记做 lcm(p,q)=[p,q]=L
2. 性质
gcd(a,b)=gcd(b,amodb)
3. 高精度
II. 矩阵及其应用
1. 定义
n 行 m 列的数表就是 矩阵(Martix),矩阵里的数叫做矩阵的 元素(Element),例如下面就是三个矩阵:
[1233]⎧⎪
⎪
⎪⎨⎪
⎪
⎪⎩93√2e0−13π2⎫⎪
⎪
⎪⎬⎪
⎪
⎪⎭,(3.146.289.42π2π3π)
矩阵一般用大写字母 A,B,C,⋯ 表示
特殊的矩阵有:
- 零矩阵 O,所有元素都是 0 的矩阵 .
- 单位矩阵 I(或写作 E),对角线是 1,其余为 0 的矩阵:⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣100⋯0010⋯0001⋯0⋮⋮⋮⋱⋮000⋯1⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦ .
2. 运算
相等:所有元素相等
相加减:所有元素相加减
数乘:用数乘每个元素
相乘
An×mBm×k=Cn×k
Ci,j=m∑l=1AilBlj
3. 递推
Fibonacci 数列:[Fn,Fn−1][1110]=[Fn+1,Fn]
更改系数类似
Fn=Fn−1+Fn−3 形:开 Fn,Fn−1,Fn−2
有常数项:例子:Fn=Fn−1+Fn−2+1,递推:[Fn,Fn−1,1]⎡⎢⎣110100101⎤⎥⎦=[Fn+1,Fn,1]
求和:
- 推式子再做矩阵快速幂
- 通用办法:例子:求 Fibonacci 数列和,递推:[Fn,Fn−1,Sn]⎡⎢⎣110101001⎤⎥⎦=[Fn+1,Fn,Sn+1],Sn 是和 .
4. 图论
https://www.cnblogs.com/CDOI-24374/p/14407416.html
Problem 杰杰的女性朋友
对于每个点 u 给定属性 inu,1,inu,2,⋯,inu,k,outu,1,outu,2,⋯,outu,k
对于任意 (u,v),u 到 v 有 k∑i=1ouu,iinv,i 条道路
问 u 到 v 不超过 d 条道路的方案数 .
(OI)t=OIOIOIOI⋯OI=O(IOIOIOIO⋯IO)I=O(IO)t−1I
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】