# 1.染色问题
(1).环染色问题
①公式: f ( m ) = ( − 1 ) m ∗ ( n − 1 ) + ( n − 1 ) m f(m)=(-1)^m*(n-1)+(n-1)^m f(m)=(−1)m∗(n−1)+(n−1)m
②证明:
2.矩阵
(1).邻接矩阵的幂
邻接矩阵的 i i i次方后的 a ( u , v ) a(u, v) a(u,v) 表示 u u u 在走了 i + 1 i + 1 i+1步后走到 v v v的方案总数(钛变态了)
证明
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] 表示
i
i
i 到
k
k
k 的方案总数,
b
[
k
]
[
j
]
b[k][j]
b[k][j] 表示
k
k
k 到
j
j
j 的方案总数
所以根据乘法原理即证。
(2).矩阵幂的和
(3).矩阵乘法代替图形变换
(4).广义矩阵是否有结合律。
矩阵运算为 x, y。要求 x, y 有结合律, x 对 y 有分配律
3.代数变换(消元降次)
(1).均值不等式
(2).错位相消经典题型
①
∑
i
=
1
n
i
∗
(
i
+
1
)
\sum_{i = 1}^n i*(i+1)
∑i=1ni∗(i+1)
=
∑
i
=
1
n
i
∗
(
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
=
1
n
[
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 = 1 n i 2 = n ( n + 1 ) ( 2 n + 1 ) 6 \sum_{i = 1}^{n}i^2 = \frac{n(n + 1)(2n + 1)}{6} ∑i=1ni2=6n(n+1)(2n+1)
证明:
令
T
=
∑
i
=
1
n
i
2
T = \sum_{i = 1}^{n}i ^ 2
T=∑i=1ni2
∵
(
n
+
1
)
3
−
n
3
=
3
n
2
+
3
n
+
1
\because (n + 1) ^ 3 - n ^ 3 = 3n ^ 2 + 3n + 1
∵(n+1)3−n3=3n2+3n+1
∴
∑
i
=
1
n
(
i
+
1
)
3
−
i
3
=
3
∑
i
=
1
n
i
2
+
3
∑
i
n
i
+
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
=
1
n
(
i
+
1
)
3
−
i
3
=
(
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
=
3
T
+
3
(
n
+
1
)
∗
n
2
+
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
)
(
2
n
+
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).知三角形三点坐标求面积
Ⅰ
∣
(
y
j
−
y
i
)
⋅
(
x
k
−
x
i
)
−
(
y
k
−
y
i
)
⋅
(
x
j
−
x
i
)
∣
|(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 + c 2 p = \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.位运算
枚举 i i i 的二进制真子集 (且不包括空集)
for (int j = i; --j &= i; )
等价于
for (int j = i - 1 & i; j; j = j - 1 & i)
枚举 i i i 的二进制子集 (且不包括空集)
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).整除
⌊ ⌊ a b ⌋ c ⌋ = ⌊ a b c ⌋ \lfloor \frac {\lfloor \frac{a}{b} \rfloor}{c} \rfloor = \lfloor \frac{a}{bc} \rfloor ⌊c⌊ba⌋⌋=⌊bca⌋
g c d ( a i − b i , a j − b j ) = a g c d ( i , j ) − b g c d ( 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 = 1 1 , 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可以组成多少个不同的数
A n s w e r = ( ∑ i ∈ [ 1 , 9 ] n u m i ) ! / ( n u m 1 ! ∗ n u m 2 ! . . . . ∗ n u m 9 ! ) 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).行列式
①:满秩的矩阵,行列式不为 0 0 0 (秩:最大线性不相关向量组大小)
②: ∣ A ∣ = ∣ A T ∣ |A| = |A^T| ∣A∣=∣AT∣
③:拉普拉斯矩阵
-
拉普拉斯矩阵
L
\mathcal{L}
L 是
n
×
n
n \times n
n×n 的一个矩阵
- L i , i = d e g i L_{i,i} = deg_i Li,i=degi
- L i , j = − n u m b e r _ o f _ e d g e ( i , j ) ( i ≠ j ) L_{i, j} = -number\_of\_edge (i, j)(i \neq j) Li,j=−number_of_edge(i,j)(i=j)
将拉普拉斯矩阵去掉任意的一行和一列,得到的矩阵求行列式,即是原图的生成树数量。