摘要: 由于是在树上搞的 ds 所以考察数据结构本身性质偏多,需大力注重细节。 思想 考虑将一颗树的链划分成若干个区间进行维护。 这种划分方式叫做剖分。 约束 一颗有根树(有时要求换根但不是真正换根) 每个点恰好包含在一条剖出的链中(若被多条链同时包含则需要同时维护多条链,修改多余的可能影响复杂度) 剖分出 阅读全文
posted @ 2024-09-09 21:33 end_switch 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 动态开点 当正常堆式建树开不下时(\(n\) 或 \(V\) 过大),通常使用动态开点。 例题 P2781 传教 算是很板了吧? 每次修改的时候,若当前访问节点未建立则新建节点并回溯至上一个节点记录左右儿子。实测写 & 引用或 struct 是很方便的。 要十分注意的是在 work 函数(单点修改 阅读全文
posted @ 2024-09-06 22:32 end_switch 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 并查集 普通并查集 路径压缩写法: struct Union_Find_Set { int f[N]; inline void init() { for(int i = 1 ; i <= n ; ++ i) f[i] = i; } inline int find(int x) { if(x != f 阅读全文
posted @ 2024-09-04 23:14 end_switch 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 问题模型 给定 \(a,b\) 两个长度为 \(n\) 的序列,求下列式子最大值: \[\frac{\sum_{i = 1} ^ {n} a_i · x_i}{\sum_{i = 1} ^ {n} b_i · x_i} \]其中 \(\forall i \in [1, n], x_i \in \le 阅读全文
posted @ 2024-09-02 22:50 end_switch 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 前言 引用一句刘邦的话:“有时 01 Trie 胜于 01 Trie。” 正文 前景提要 Trie(串串咕了 qwq) 位运算 贪心 01 trie 简介 实质上是字符集只有 \(\left \{ 0,1 \right \}\) 的 trie。 由于每一个自然数一定可以进行二进制拆分,所以一个数其实 阅读全文
posted @ 2024-08-23 16:33 end_switch 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 看了很多题目,个人觉得现阶段以考察矩阵乘法(快速幂)、高斯消元法求线性方程组的解、矩阵优化 dp、一些 trick(线段树维护矩阵,kmp 套矩阵等)以及矩阵自身性质的深层次运用为主。 P1962 斐波那契数列 应该是典题。从这道题我们可以发现矩阵优化 dp 的最有效办法是手模,所以此类题目一般考察 阅读全文
posted @ 2024-08-23 11:55 end_switch 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 梦回选修 \(2\) QAQ。这东西说实话的确考察思维,而且容易和 dp 什么的综合起来难度就直接飙到 \(*3000\),但是组合数学的确是一个极其重要的部分,它可以在很多情况下帮你减少枚举次数(比如去年 T2 的哈希做法如果最后直接组合数学统计答案的话码量少了整整 \(30\) 行!),所以这也 阅读全文
posted @ 2024-08-23 11:54 end_switch 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 树的直径 模板题。 定义 树的任意两点之间的最长简单路径。 求法 dfs 做法 从任意一个节点 dfs 到和其距离最远的节点,可以证明其为树的直径的一端。然后再以直径的一端 dfs 走到和其距离最远的节点即可得出答案。 若要记录直径路径的话只需在第二次 dfs 上记录每个节点的前驱即可。 inlin 阅读全文
posted @ 2024-08-23 11:54 end_switch 阅读(6) 评论(0) 推荐(0) 编辑
摘要: RMQ ST 表 不用讲,浅显易懂,背背板子。 例题 Loj 10121 与众不同 一个需要瞪眼发现单调性的题目。 分析 1.维护 \(last_{val}\) 表示元素 \(val\) 上一次出现的位置 2.维护 \(s_i\) 表示以 \(i\) 为右端点的完美序列的起点,则: \[s_i = 阅读全文
posted @ 2024-08-23 11:52 end_switch 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 前情提要 dp 专题复习 树形 dp 其实对我来说树形 dp 会比序列 dp 学得好一些,因为树是有一个具体形态的东西,推式子是比较具象的。其实序列就是把树拍平在数轴上去 dp 的,只要考虑到这一点,画出 dp 的转移图,式子就可以呼之欲出了。 不套路的 dp 考验人类智慧的时刻到了! P1352 阅读全文
posted @ 2024-08-23 11:52 end_switch 阅读(2) 评论(0) 推荐(0) 编辑