杂知识点小记
Xor Shift
是一种有用的哈希、随机算法。
1 | ull shift(ull x){ |
以上算法的周期是
xor shift 的本质是执行 01 矩阵向量积,具体的矩阵依上述常数决定。
为了使该随机算法表现良好,移位导出的矩阵必须可逆。
有若干对常数
另外,还可以对该算法进行一点【加密】:
1 | ull mask = 1145141919810; |
mask 不会影响 xor shift 的周期。
笛卡尔树
给定二维平面上的若干点
构造方法:维护最右链。
OI 中很多时候,
应用:很经典的最大子矩阵题,可以通过笛卡尔树的结构解决。(考虑子树内下标连续,且值不小于子树根)
数据结构、模型
k-d 树
轮流划分每个维度,设等待划分的点集为
-
找到
中该维度中位数,将它放到当前节点。 -
分成两半,递归执行,作为维度数个儿子子树。
一般维护子树内所有点各维度坐标最大值最小值,然后查询直接查就行了。
修改可以使用根号重构,
或者二进制分组,维护若干棵 size 为
每次加点之后,暴力从小到大合并直到不能并,类似于二进制加法。
虚树
旨在只保留关键点以及它们 LCA 处的信息。
左偏树
概率
计算几何
线性代数
字符串
网络流
数论
组合数学
评论
评论插件加载失败
正在加载评论插件