摘要: 一些话 上一次真正意义上的搞 OI 已经是 2024.10 了。 球球你了起码让我回到初二初三的水平好不好。 题目 \(60 \min\) 还卡就直接跳。 Tricks 求一个序列经过邻项对换变成单谷序列的最少操作数。 不妨只考虑大数对小数的贡献,这样便于统计。 对于一个 \(a_i\),考虑其放在 阅读全文
posted @ 2026-07-22 23:41 endswitch 阅读(19) 评论(0) 推荐(0)
摘要: 分别对照了不同的材料进行了查漏补缺,可能会有部分重复。 \(\texttt{kmp}\)、扩展 \(\texttt{kmp}\):kmp 学过但忘了,扩展 \(\texttt{kmp}\) 没学过。 \(\texttt{trie}\):\(\texttt{trie}\) 上的 \(\texttt{d 阅读全文
posted @ 2026-07-06 16:28 endswitch 阅读(11) 评论(0) 推荐(0)
摘要: 经典图论 例题 P6833 [Cnoi2020] 雷雨 枚举三条路径交,求最小值即可。 最短路树 按松弛操作记录一个点的前驱,将前驱作为父亲建树。 性质 形态不唯一 根节点到其他所有点的最短距离与原图中相同 在所有生成树中,最短路径树满足根节点到其他所有点的距离之和最短 例题 AT_abc252_e 阅读全文
posted @ 2025-10-18 11:33 endswitch 阅读(60) 评论(0) 推荐(0)
摘要: 简介 是一种关于决策集合的优化。利用单调性,将不可能的决策点提前删除。 状态转移的特征: \[dp_i = \min_{j \in [i - w, i - 1]} \{ dp_j + a_j + b_j + c \} \]即: 状态有最大或最小值。 决策点不仅有上界,而且有下界,下界随着 \(i\) 阅读全文
posted @ 2025-10-13 19:16 endswitch 阅读(23) 评论(0) 推荐(0)
摘要: 简介 一般问题为:考虑一个元素插入在其它元素的前 / 后。 状态设计一般为 \(dp_{i, j}\) 表示前 \(i\) 位且第 \(i\) 位排名为 \(j\) 的方案数。 例题 AT_dp_t Permutation 插入 dp 板子。 AT_abc209_f [ABC209F] Defore 阅读全文
posted @ 2025-10-13 19:16 endswitch 阅读(35) 评论(0) 推荐(0)
摘要: 前言 博客。 通常是设一个二进制状态表示物品的取舍从而去转移。所以实际上其状态总数是没有变的,状压过程只是让状态排列的更加紧密了。 子集枚举 题目: 给定一个长度为 \(n\ (n\le15)\) 的排列,问此排列中的 \(n\) 个元素所组成的每一个集合的所有子集。 考虑暴力枚举一下。 for(i 阅读全文
posted @ 2025-08-06 22:01 endswitch 阅读(104) 评论(0) 推荐(0)
摘要: CF1336C Kaavi and Magic Spell \(S\) 串两端添加具有区间 dp 的特征。 \(S \to T\) 的构建一定是从短到长的,考虑区间 dp。 设 \(dp_{i, j}\) 表示构建出 \(T : [i, j]\) 的方案数。 答案:\(\displaystyle \ 阅读全文
posted @ 2025-08-06 21:56 endswitch 阅读(89) 评论(0) 推荐(0)
摘要: 简介 解决大区间 \([L, R]\) 中满足条件的元素的个数的统计问题。 通常使用记忆化搜索实现,尤其注意前导零与上界答案的情况。 例题 HDU2089 不要62 人机题。 注意特判 \(l = 0\) 的情况。 代码: #include <iostream> #include <cstdio> 阅读全文
posted @ 2025-08-03 03:03 endswitch 阅读(44) 评论(0) 推荐(0)
摘要: P2585 [ZJOI2006] 三色二叉树 设 \(dp_{i, 0 / 1 / 2}\) 表示以 \(i\) 为根的子树,且点 \(i\) 颜色为 \(0 / 1 / 2\) 的最多绿色节点数。 答案为 \(\max \{ dp_{root, 0}, dp_{root, 1}, dp_{root 阅读全文
posted @ 2025-08-02 22:00 endswitch 阅读(36) 评论(0) 推荐(0)
摘要: 实现 将无向图的边按边权排序。 枚举排序后的边 \(e\),若 \(e\) 的两个端点 \(x, y\) 不连通,那么新建节点 \(p\),点 \(p\) 连接 \(x, y\) 所在连通块的根,将 \(p\) 的点权设为 \(e\) 的边权。 枚举结束后,得到的一棵树成为 kruskal 重构树。 阅读全文
posted @ 2025-07-26 20:21 endswitch 阅读(168) 评论(0) 推荐(0)