算法学习笔记
文章平均质量分 77
Joker_69
这个作者很懒,什么都没留下…
展开
-
ZKW线段树模板总结
ZKW线段树模板总结初始化int N = 4;while (N-2 N 1;建树void build() { for (int i = N+n+1>>1; i; i--) pushup(i);}单点改,区间求和void modify(int x, long long val) { for (tr[x += N] = val; x原创 2018-02-04 20:42:37 · 420 阅读 · 0 评论 -
虚树学习笔记
虚树一点理解将关键点按dfs序排序后,所有关键点与相邻关键点的lca合起来构成虚树(通常还要加上整棵树的根)。 虚树至多有2k2k2k个点。体现在实现中就是每次都pop若干点,并有机会push2个点。stk[]中存的是从根到当前点的递归栈中目前选入虚树的点。 stk中的点之间都未连边(因为事实上关系还未确定),pop掉一个点的同时把它的父边连上。插入一个点时,计算这个点与上一...原创 2018-02-18 21:29:12 · 472 阅读 · 0 评论 -
斯特林数
斯特林数第一类斯特林数将nnn个(区分)物品分成mmm个(不区分)非空环排列的方案数递推式O(nm)O(nm)O(nm)[n+1m]=n×[nm]+[nm−1][n+1m]=n×[nm]+[nm−1]\left[\begin{array}{c}n+1\\m\end{array}\right] = n\times\left[\begin{array}{c}n\\m\end{a...原创 2018-03-05 11:40:48 · 431 阅读 · 0 评论 -
ZKW线段树模板总结
ZKW线段树(非递归线段树)全模板总结。简练 优质。支持线段树上二分原创 2018-03-26 20:08:13 · 858 阅读 · 0 评论 -
树链剖分维护DP
算法思想把树上dp的过程看作是结点uuu根据自身的数据对儿子传上来的dp值进行加工(变换),进一步表示为根据自身数据和轻儿子的dp值对重儿子传上来的dp值进行变换。 要满足变换是可合并的。例如矩阵(线性变换)、加乘max混合运算等。 然后用一个线段树维护一条链的和变换。 需要维护对轻儿子的dp值求并的操作。如果是取max可以对每个父亲开一个可删除堆来维护。修改操作单点修改并在链...原创 2018-04-28 22:15:07 · 341 阅读 · 0 评论 -
SAM PAM 算法模板
回文自动机 后缀自动机 板子以及背板技巧qwq原创 2018-06-17 19:57:03 · 2058 阅读 · 1 评论 -
多项式取模优化齐次线性递推
线性递推可以用多项式取模优化做到O(mlogmlogn)的优秀复杂度。本文主要介绍了不借助矩阵来理解多项式取模与线性递推关系的巧妙方法原创 2018-06-30 20:40:24 · 1653 阅读 · 0 评论