摘要: 坚持一个字符串算法原则:世界上只有一个字符串算法。 下文中的字符串均为 1-index。 KMP 求出 \(nxt\) 数组,\(nxt_i\) 表示以 \(i\) 结尾的串的最长公共前后缀长度。 for(int i=2,j=0;i<=n;i++){ while(j&&s[j+1]!=s[i]) j 阅读全文
posted @ 2025-10-23 17:24 headless_piston 阅读(6) 评论(0) 推荐(1)
摘要: Kruskal 重构树是在无向图做最小生成树的 Kruskal 算法时可以同时构建出来的一棵树。 性质 事实上,这里的“重构”是针对原图的最小生成树而言的(假设图连通)。 Kruskal 重构树用非叶子节点表示原图的最小生成树上的边,点权即为原图上的边权,用叶子节点对应原图中的节点,故 Kruska 阅读全文
posted @ 2025-10-14 16:00 headless_piston 阅读(50) 评论(0) 推荐(1)
摘要: 定义 网络是一种特殊的有向图,特殊之处在于其存在两个特殊的点 \(s,t\),叫做源点和汇点;同时每条边有权值 \(c\),表示这条边的容量;每个边还需要记录一个值 \(f\) 表示流量。 残量网络:对于一条边,将其容量与流量之差称为剩余流量,网络中的所有点和剩余流量大于 \(0\) 的所有边的集合 阅读全文
posted @ 2025-10-10 19:22 headless_piston 阅读(7) 评论(0) 推荐(1)
摘要: 序列分块 把一个数组简单地划分为若干块,若操作范围覆盖整块则整体操作,反之则暴力操作。由均值不等式可证,块长取 \(\sqrt{n}\) 可得到最优理论复杂度。 由于可以暴力操作且具有简单的结构,它有着比树形数据结构更为灵活的优势。同时,它还具有常数小的优势。 习题: 以下是比较板的题: 【模板】线 阅读全文
posted @ 2025-09-30 20:28 headless_piston 阅读(9) 评论(0) 推荐(1)
摘要: 所有代码均可在 -std=c++17 下编译。 所有代码均经过检查,具体可见这里。 图论 树 期望高度对数 期望高度 \(O(\log n)\): /** * 生成期望树高 O(logn) 级别的树 * 生成方法:钦定 1 为根,对于后续的节点 i,随机在 [1,i-1] 中选取一个点作为父亲 * 阅读全文
posted @ 2025-09-22 17:56 headless_piston 阅读(26) 评论(1) 推荐(1)
摘要: 显然,这道题需要维护一棵最小生成树,支持动态删边,查询链上最大值。查询链上最大值可以倍增维护,但是本题 \(n\) 较小,直接暴力往上跳也是可过的。 接下来就是如何动态维护最小生成树的问题了。对于一般图的最小生成树求解,我们有 \(O(m\log m)\) 的 Kruskal 算法和 \(O(n^2 阅读全文
posted @ 2025-09-20 11:29 headless_piston 阅读(10) 评论(0) 推荐(1)
摘要: sto Tmbcan orz,拜谢 Tmbcan 大爷让我知道了这个优美的数据结构。我在拜读 Tmbcan 大爷的论文时和在平时写题的应用过程中也遇到了不少问题,所以本文更应当是对 Tmbcan 大爷的论文的补充。本文不追求面面俱到,但一定会记录最常用的 zkw 线段树技巧和注意事项。 约定: \( 阅读全文
posted @ 2025-09-11 17:33 headless_piston 阅读(96) 评论(1) 推荐(2)
摘要: 模拟赛时碰到了,感觉这个东西很优美啊,学习一下。 经典应用就是与区间最值算贡献相关的一类问题。 我们以 Special Segments of Permutation 这道题为例讲解一下这种技巧。 首先,我们可以将所有区间分为以 \(p_1\) 为最大值的区间、以 \(p_2\) 为最大值的区间…… 阅读全文
posted @ 2025-08-22 17:52 headless_piston 阅读(46) 评论(1) 推荐(2)
摘要: 单调栈/单调队列确实强势,但我不愿意动脑子。 原理 我们以模板题为例讲解李超线段树工作原理。 首先我们有一个基于值域的线段树。 称一个线段在区间 \([l,r]\) 中最优当且仅当该线段完全覆盖 \([l,r]\) 且在 \(mid\) 处的值为所有线段最大。 线段树上每个节点保存对应区间的最优线段 阅读全文
posted @ 2025-08-09 17:06 headless_piston 阅读(26) 评论(0) 推荐(1)
摘要: 省流:赤石+打牌+打块。 我的游记比较简略,更详细的信息可以看看 yonghu10010 的游记和 Tighnari 的游记,当然还有不那么详细(?)的 Tmbcan 的游记。 Day0 放假归来,直接火车站重逢了。热热热。 火车上在 bow 右后方,吓人。一路 MC+听歌。热热热。 到地方了。叫做 阅读全文
posted @ 2025-08-08 20:59 headless_piston 阅读(113) 评论(3) 推荐(2)