home archives github knives links
tags
categories 问题求解
only title title and content
问求复习

线性规划

TODO

群论

阿贝尔群(abelian or commutative)

$a\circ b=b\circ a$

子群

cyclic group(循环群)

symmetric group(对称群)

$|S_n|=n!$

permutation group

cycle

alternating group(交代群)

dihedral group(二面体群)

cosets(陪集)

拉格朗日定理

TODO

isomorphism(同构)

单射,满射$G\to H:\forall a,b\in G,\phi(a\cdot b)=\phi(a)\circ\phi(b)$

external direct products(外直积)

$G\times H:(g_1,h_1)(g_2,h_2)=(g_1\cdot g_2,h_1\circ h_2)$

internal direct products(内直积)

正规子群

$H$是$G$的子群,$H$ is normal:$\forall g\in G,gH=Hg$

商群(factor or quotient group)

若$N$是$G$的正规子群,那么$N$的陪集在运算$(aN)(bN)=abN$下构成群$G/N$(阶为$[G:N]$)

the simplicity of the alternating group

TODO

Homomorphisms(同态)

映射$G\to H:\forall a,b\in G,\phi(a\cdot b)=\phi(a)\circ\phi(b)$

同构定理

串匹配

TODO

数论

欧几里得算法

int euclid(int a, int b)
{
if (b == 0) {
return a;
}
return euclid(b, a % b);
}
struct fuck {
int d, x, y;
};

fuck extended_euclid(int a, int b)// gcd(a, b) = d = a * x + b * y
{
if (b == 0) {
return (a, 1, 0);
}
(d_, x_, y_) = extended_euclid(b, a % b);
(d, x, y) = (d_, y_, x_ - (a / b) * y_);
return (d, x, y);
}

欧拉函数

$\phi(n):\le n$正整数中与$n$互质的数的个数

求解模线性方程

中国余数定理

元素的幂

Mille-Rabin

int num[] = {2, 3, 5, 7, 11, 13, 17, 19};
int MR(long long a)
{
if (a == 1) return 0;
2^t * u = a - 1;
for (i = 0; i < num.length; i ++) {
x = num[i]^u % a;
for (j = 0; j < t; j ++) {
last = x;
x = x * x % a;
if (x == 1 && last != 1 && last != a - 1) return 0;
}
if (x != 1) return 0;
}
return 1;
}

RSA

  1. 选两个素数$p\not=q$
  2. $n=pq$
  3. 选与$\phi(n)$互质的小奇数$e$
  4. 计算模$\phi(n)$下$e$的乘法逆元$d$
  5. 公开$e,n$

代数编码

NPC理论

判定问题$(L,U,\Sigma)$

最优化问题$(\Sigma_I,\Sigma_O,L,L_I,M,cost,goal)$

NP完全性

3-CNF可满足性$\le_P$团问题

团问题$\le_P$顶点覆盖问题

哈密顿回路问题$\le_P$旅行商问题

3-CNF可满足性$\le_P$子集和问题

随机化算法

拉斯维加斯算法

蒙特卡洛算法