摘要: 置顶部分 前言 能否还愿。 常见错误 先肉眼调试。 模板写得太快了导致出错,并且查错的时候根本没有往模板上面去找。 Tricks 求一个序列经过邻项对换变成单谷序列的最少操作数。 不妨只考虑大数对小数的贡献,这样便于统计。 对于一个 \(a_i\),考虑其放在“谷”的左边还是右边。这样来分类讨论的话 阅读全文
posted @ 2026-07-22 23:41 endswitch 阅读(33) 评论(0) 推荐(0)
摘要: 算法相关 对树分治的浅尝辄止,以后可能会把比较难的题目放上去。 点分治 适合处理大规模的树上路径问题,要求离线、静态。 不妨考虑一个子树 \(x\) 的问题。我们可以把这棵子树内的路径划分为两种:经过 \(x\) 的和不经过 \(x\) 的。这样两者并起来显然是全集。记 \(x\) 的子树大小为 \ 阅读全文
posted @ 2026-10-07 23:09 endswitch 阅读(4) 评论(0) 推荐(0)
摘要: Div. 1 D. Mission Impassable 简要题意 给定一个字符串,删去一个长度为 \(k\) 的回文串的贡献为 \(a_k\),问这个字符串可以获得的最大贡献。 思路 由于答案的形态一定是消去若干段区间,因此可以想到区间 dp。而又由于题目说明了代价和回文串的长度强相关,于是考虑把 阅读全文
posted @ 2026-10-04 23:12 endswitch 阅读(4) 评论(0) 推荐(0)
摘要: 整体二分 算法相关 整体二分用于解决一些决策性单调的分治问题,其核心思想就是利用分治将同一个范围内的答案统一处理。 若问题满足以下性质则可以整体二分: 单个询问可以用二分解决(可二分性)。 修改对答案贡献互相独立,修改之间互不影响。 允许离线。 一般而言,我们要求整体二分是要求值域单调而定义域不一定 阅读全文
posted @ 2026-10-02 21:31 endswitch 阅读(3) 评论(0) 推荐(0)
摘要: 算法相关 转移类型 常见的转移方式有两种:dfs 合并和 dfs 序。 通常只有一种情况我们会用 dfs 序:物品体积不为 \(1\) 且物品价值不为 \(1\)。在此基础上若该转移不依赖树形结构,则时间复杂度 \(O(n W)\),否则时间复杂度 \(O(n ^ 2 W)\)。 至于其他的形式,我 阅读全文
posted @ 2026-09-29 13:27 endswitch 阅读(5) 评论(0) 推荐(0)
摘要: 算法相关 思想 维护最靠右的回文子串,根据对称性求解答案。 记号 \(p_i\) 表示以 \(i\) 为回文中心的最长回文子串半径。 \(l_i\) 表示以 \(i\) 为左端点的最长回文子串长度。 \(r_i\) 表示以 \(i\) 为右端点的最长回文子串长度。 习题 神秘题 模板。 CSES 1 阅读全文
posted @ 2026-09-29 11:33 endswitch 阅读(4) 评论(0) 推荐(0)
摘要: 算法相关 矩阵乘法 矩阵 \(A_{n \times m}\) 左乘矩阵 \(B_{m \times k}\) 得到矩阵 \(C_{n \times k}\),其中 \(C_{i, j} = \displaystyle \sum_{t = 1} ^ m A_{i, t} \times B_{t, j 阅读全文
posted @ 2026-09-28 10:03 endswitch 阅读(5) 评论(0) 推荐(0)
摘要: 算法相关 定义 重儿子:表示其所有儿子中子树大小最大的儿子。如果有多个则任取其一。 轻儿子:所有不是重儿子的儿子都是轻儿子。 重边:重儿子与其父亲之间的边为重边。 轻边:轻儿子与其父亲之间的边为轻边。 重链:若干条首尾衔接的重边构成重链。 性质 重儿子不一定唯一,但确定重儿子后重链剖分唯一。 一条重 阅读全文
posted @ 2026-09-16 20:56 endswitch 阅读(13) 评论(0) 推荐(0)
摘要: 算法相关 SPFA 用队列维护已被松弛过的点,每次用队首的元素进行下一轮松弛。 负环 判断负环 维护 \(cnt_x\) 表示点 \(x\) 入队的次数,若存在点 \(x\) 使得 \(cnt_x > n\) 则该图存在负环。 负环上的点 记 \(pre_x\) 表示点 \(x\) 被哪个点松弛。那 阅读全文
posted @ 2026-09-13 14:49 endswitch 阅读(12) 评论(0) 推荐(0)
摘要: 算法相关 流程 我们考虑维护连通块。将最开始的图视为全断开状态,则此时有 \(n\) 个连通块。对于每个连通块,维护其最优势出边,(即从最优的从连通块内的某一点向外连出的一条边)而后合并所有最优势出边的两端点所在的连通块。 合并后,继续循环该流程直至整张图连通块数量为 \(1\)。 因为在每次循环中 阅读全文
posted @ 2026-09-10 20:24 endswitch 阅读(11) 评论(0) 推荐(0)
摘要: 算法相关 定义 欧拉路径:经过连通图中所有边恰好一次的路径。 欧拉回路:经过连通图中所有边恰好一次的环。 欧拉图:存在欧拉回路的图。 半欧拉图:存在欧拉路径但不存在欧拉回路的图。 判定 有向图 记 \(in_x\) 表示 \(x\) 的入度,\(out_x\) 表示 \(x\) 的出度。若点 \(x 阅读全文
posted @ 2026-09-08 21:34 endswitch 阅读(13) 评论(0) 推荐(0)