# 1.染色问题
(1).环染色问题
①公式: f(m)=(−1)m∗(n−1)+(n−1)mf(m)=(-1)^m*(n-1)+(n-1)^mf(m)=(−1)m∗(n−1)+(n−1)m
②证明:
2.矩阵
(1).邻接矩阵的幂
邻接矩阵的iii次方后的 a(u,v)a(u, v)a(u,v) 表示 uuu 在走了i+1i + 1i+1步后走到 vvv的方案总数(钛变态了)
证明
c[i][j]c[i][j]c[i][j] === Σa[i][k]∗b[k][j](j≤i)\Sigma a[i][k] * b[k][j] (j \leq i)Σa[i][k]∗b[k][j](j≤i)
而 a[i][k]a[i][k]a[i][k] 表示 iii 到 kkk 的方案总数,b[k][j]b[k][j]b[k][j] 表示 kkk 到 jjj 的方案总数
所以根据乘法原理即证。
(2).矩阵幂的和
(3).矩阵乘法代替图形变换
(4).广义矩阵是否有结合律。
矩阵运算为 x, y。要求 x, y 有结合律, x 对 y 有分配律
3.代数变换(消元降次)
(1).均值不等式
(2).错位相消经典题型
①
∑i=1ni∗(i+1)\sum_{i = 1}^n i*(i+1)∑i=1ni∗(i+1)
=∑i=1ni∗(i+1)∗[i+2−(i−1)]i+2−(i−1)=\sum_{i = 1}^n \frac{i *(i + 1) * [i + 2 - (i - 1)]}{i + 2 - (i - 1)}=∑i=1ni+2−(i−1)i∗(i+1)∗[i+2−(i−1)]
=∑i=1n[i∗(i+1)∗(i+2)−(i−1)∗i∗(i+1)]3=\sum_{i = 1}^n \frac{[i * (i + 1) * (i + 2) - (i - 1) * i * (i + 1)]}{3}=∑i=1n3[i∗(i+1)∗(i+2)−(i−1)∗i∗(i+1)]
∵\because∵ 错位相消
=n∗(n+1)∗(n+2)3=\frac{n * (n + 1) * (n + 2)}{3}=3n∗(n+1)∗(n+2)
(3).裂项与和项
① 平方和公式
∑i=1ni2=n(n+1)(2n+1)6\sum_{i = 1}^{n}i^2 = \frac{n(n + 1)(2n + 1)}{6}∑i=1ni2=6n(n+1)(2n+1)
证明:
令 T=∑i=1ni2T = \sum_{i = 1}^{n}i ^ 2T=∑i=1ni2
∵(n+1)3−n3=3n2+3n+1\because (n + 1) ^ 3 - n ^ 3 = 3n ^ 2 + 3n + 1∵(n+1)3−n3=3n2+3n+1
∴∑i=1n(i+1)3−i3=3∑i=1ni2+3∑ini+n\therefore \sum_{i = 1}^{n} (i + 1) ^ 3 - i ^ 3 = 3 \sum_{i = 1}^{n}i ^ 2 + 3 \sum_{i}^{n}i + n∴∑i=1n(i+1)3−i3=3∑i=1ni2+3∑ini+n
又∵∑i=1n(i+1)3−i3=(n+1)3−1又\because \sum_{i = 1}^{n} (i + 1) ^ 3 - i ^ 3 = (n + 1) ^ 3 - 1又∵∑i=1n(i+1)3−i3=(n+1)3−1
∴(n+1)3−1=3T+3(n+1)∗n2+n\therefore (n + 1) ^ 3 - 1 = 3T + 3 \frac{(n + 1) * n}{2} + n∴(n+1)3−1=3T+32(n+1)∗n+n
∴T=n(n+1)(2n+1)6\therefore T = \frac{n(n + 1)(2n + 1)}{6}∴T=6n(n+1)(2n+1)
4.模拟退火相关常量
const double q = 0.996;
// 温度变动量
srand (998244353);
for (int i = 1; i <= 1000; i++)
srand (rand ());
//种子初值
delta = ans1 - ans2;
if (exp (-delta / t) * RAND_MAX > rand ())
//选择概率
double cx = now.x + ((rand() << 1) - RAND_MAX) * t;
//下一个随机点
5.计算几何
(1).知三角形三点坐标求面积
Ⅰ
∣(yj−yi)⋅(xk−xi)−(yk−yi)⋅(xj−xi)∣|(y_j-y_i)\cdot(x_k-x_i)-(y_k-y_i)\cdot(x_j-x_i)|∣(yj−yi)⋅(xk−xi)−(yk−yi)⋅(xj−xi)∣
纵切法证明
Ⅱ 海伦公式
p=a+b+c2p = \frac{a+b+c}{2}p=2a+b+c
S=p(p−a)(p−b)(p−c)S = \sqrt{p(p-a)(p-b)(p-c)}S=p(p−a)(p−b)(p−c)
6.位运算
枚举 iii 的二进制真子集 (且不包括空集)
for (int j = i; --j &= i; )
等价于
for (int j = i - 1 & i; j; j = j - 1 & i)
枚举 iii 的二进制子集 (且不包括空集)
for (int j = i; j; j = (j - 1) & i)
7.整数分块
l = n / (k + 1) + 1, r = n / k;
l = r + 1; r = n / (n / l);
8.阶乘
9.数论
(1).整除
⌊⌊ab⌋c⌋=⌊abc⌋\lfloor \frac {\lfloor \frac{a}{b} \rfloor}{c} \rfloor = \lfloor \frac{a}{bc} \rfloor⌊c⌊ba⌋⌋=⌊bca⌋
gcd(ai−bi,aj−bj)=agcd(i,j)−bgcd(i,j)gcd (a^i - b^i, a^j - b^j) = a^{gcd (i, j)} - b^{gcd (i, j)}gcd(ai−bi,aj−bj)=agcd(i,j)−bgcd(i,j)
(2).莫比乌斯系列
∑d∣nμ(d)={0,d=11,d≠1\sum_{d|n} \mu(d) = \begin{cases} 0, d = 1 \\ 1, d \neq1 \end{cases}∑d∣nμ(d)={0,d=11,d=1
10.排列组合
(1).1~9可以组成多少个不同的数
Answer=(∑i∈[1,9]numi)!/(num1!∗num2!....∗num9!)Answer = (\sum_{i\in[1,9]}{num_i})! / (num_1! * num_2!.... * num_9!)Answer=(∑i∈[1,9]numi)!/(num1!∗num2!....∗num9!)
(2).二项式反演
10.线性代数
(1).行列式
①:满秩的矩阵,行列式不为 000 (秩:最大线性不相关向量组大小)
②:∣A∣=∣AT∣|A| = |A^T|∣A∣=∣AT∣
③:拉普拉斯矩阵
-
拉普拉斯矩阵 L\mathcal{L}L 是 n×nn \times nn×n 的一个矩阵
- Li,i=degiL_{i,i} = deg_iLi,i=degi
- Li,j=−number_of_edge(i,j)(i≠j)L_{i, j} = -number\_of\_edge (i, j)(i \neq j)Li,j=−number_of_edge(i,j)(i=j)
将拉普拉斯矩阵去掉任意的一行和一列,得到的矩阵求行列式,即是原图的生成树数量。