Hash
Hash
(将高维信息压至低维)
(hash的压缩空间:将 \(n\) 个yuansu)
- 正确性(无冲突)
- 万物皆可hash
正确性
1.多项式 hash
例如 \(base=7\) :
\[h(s)=\sum\limits_{i=1}^{|s|}s_i\cdot base\% mod
\]
- 弊端: $$"ab"+"cd"="ad"+"cb"$$ (只与位数相关)
- \(s[i]-'a'\) 错误(在不判断长度时 \(a,aa,aaa\) 全为0)
- \(s[i]\) 错误(太大)
- \(s[i]-'a'+1\) 最正确
2.矩阵 hash
(将字符对应一个矩阵) 例如:
\[a=\begin{vmatrix}1&1\\-1&2\end{vmatrix}\quad
b=\begin{vmatrix}1&2\\3&4\end{vmatrix}\]
按顺序将矩阵乘起来。
计算:
假设每一个矩阵为$$M_i$$
\[s_i=\prod\limits_{j=1}^i M_j
\]
\[inv_i=inv(s_i)
\]
表示求逆
\[\begin{bmatrix}l,r\end{bmatrix}\quad\prod\limits_{j=l}^r M_j=inv_{l-1}\cdot s_r
\]
- 优势:与每一个前后的字母都相关,不具有独立性(?手动证明),用于字符集合hash
- 适用于矩阵分配率,不满足交换率
- 矩阵 hash 可以相加
- \(O(1)\) 计算
\(M_n \rightarrow M^\prime\) - 矩阵 & 矩阵的逆 可认为都可逆
\(2\times2\) 矩阵的求逆
\[\begin{bmatrix}A&B\\C&D\end{bmatrix}=\begin{bmatrix}D&-C\\-B&A\end{bmatrix} \div (AD-BC)
\]
一个矩阵的逆为其的?伴随矩阵除以它的行列式:
\[A^{-1}=\frac{A^{*}}{|A|}
\]
- 矩阵为随机矩阵
- ?伯努利不等式,单位矩阵(概率),对角阵,多模hash,二阶阵,克莱姆求解
- ?二阶阵不可逆的概率为随机取一个二维空间向量( \(a\) & \(b\) ):
\[\begin{bmatrix}A\\B\end{bmatrix}\quad\&\quad a=k\cdot b
\]
当 \(\bmod p\) 时,概率为 \(\frac{1}{p}\) 证明:
原本空间向量 \((0,1)\&(1,0)\) ,把空间单位向量变为 \(a\) 和 \((0,1)\) ,然后以这两个向量作为基底, 随机取这两个向量的线性组合。
只跟 \(a\) 有关,相当于 \((0,1)\) 的系数为 \(0\) ,而下面的系数对应的为 \(0\sim {p-1}\) ,所以概率为 \(\frac{1}{p}\) 。(之后的以后自己证明)
万物皆可hash
树(判同构),图等都可以

浙公网安备 33010602011771号