上一页 1 2 3 4 5 6 ··· 15 下一页
摘要: Kobe-Morris-Pratt 算法 定义 一些基本定义: border:是一个字符串的子串(不与其本身相同)且满足既是其前缀又是其后缀的字符串,我们称之为该字符串的一个 border。 Kobe-Morris-Pratt 算法(以下简称 KMP 算法),是解决字符串匹配问题的一种算法,实际做题 阅读全文
posted @ 2024-08-05 12:14 _XOFqwq 阅读(4) 评论(0) 推荐(0) 编辑
摘要: CF1092F 典。参见 P2986。 code #include<bits/stdc++.h> #define int long long using namespace std; const int N=2e5+5; int n,tot,a[N]; vector<int> G[N<<1]; in 阅读全文
posted @ 2024-08-04 16:31 _XOFqwq 阅读(1) 评论(0) 推荐(0) 编辑
摘要: U224225 一眼网络流,但是被诈骗了。 容易发现以每个点作为源点得到的答案均不相同,考虑换根 dp。 令 \(dp_i\) 表示以 \(i\) 为根的子树的最大流量。 初始: \[\begin{cases} dp_{cur}=0\ \ \ \ \ \text{when} \ cur \ 为非叶子 阅读全文
posted @ 2024-08-03 14:37 _XOFqwq 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 众所周知,换根 dp 是非常套路的。换根真好玩( 换根 dp: 当不同节点作为根时,dp 结果不一致,若枚举每个节点作为根,则时间复杂度过高,在此种情形下,可使用 换根 dp 处理相邻两节点间的贡献,从而达到快速换根的效果。 使用场景: 对于一棵树,寻找以某节点 \(u\) 为根时取得的 最大值 / 阅读全文
posted @ 2024-08-01 19:46 _XOFqwq 阅读(3) 评论(0) 推荐(0) 编辑
摘要: P1272 & P1273 请查阅往期笔记,此处不再赘述。 其中 P1273 我们学到了定义更好求解的状态(一般是转化为价值,如本题),再通过枚举求解最终答案。 P8625 容易发现你选出的 \(S\) 一定是一个子树。 然后这题就变成最大子树和了。 关于最大子树和那题,请查阅往期笔记,此处不再赘述 阅读全文
posted @ 2024-07-31 13:56 _XOFqwq 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 复习树形 dp。 树形 dp 定义状态一般套路:令 \(dp_i\) 表示以 \(i\) 为子树的 xxx(要维护的信息),可以有多维,但一定会有这一维。 P2016 & P2014 请查阅往期笔记,此处不再赘述。 P2585 以前是分讨每个节点有几个儿子,然后分别转移。 其实不用分讨,直接将所有节 阅读全文
posted @ 2024-07-30 15:21 _XOFqwq 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 树上倍增:维护 \(dp_{i,j}\) 表示节点 \(i\) 向上移动 \(2^j\) 步所到达的节点编号、区间最值、区间和等信息。 倍增求 LCA: 预处理: 令 \(dp_{i,j}\) 表示 \(i\) 向上走 \(2^j\) 步所到达的节点。 转移:\(dp_{i,j}=dp_{dp_{i 阅读全文
posted @ 2024-07-29 12:02 _XOFqwq 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 带权路径长度:$ 节点权值 \times 节点到根的距离 $。 哈夫曼树:在叶子节点的节点权值为一个给定序列的前提下,树上所有节点带权路径长度之和最小的二叉树。 构造:每次从原序列选取两个权值最小的两个点,将它们父节点的权值设为两个子节点权值之和。 性质: 哈夫曼树一定是满二叉树(不是完美二叉树,是 阅读全文
posted @ 2024-07-29 11:08 _XOFqwq 阅读(2) 评论(0) 推荐(0) 编辑
摘要: RMQ 问题 / ST 表:静态区间求最值。 实现(以最大值为例): 倍增 dp,预处理 \(st_{i,j}\) 表示区间 \([i,i+2^j-1]\) 内的最大值,我们有转移方程: \[st_{i,j}=\max(st_{i,j-1},st_{i+2^{j-1},j-1}) \]相当于是把 \ 阅读全文
posted @ 2024-07-26 16:52 _XOFqwq 阅读(6) 评论(0) 推荐(0) 编辑
摘要: HDU 6567 首先我们发现每棵树内部的距离已经固定,只有经过新边的路径才会产生贡献。 又因为重心到树上所有节点的距离和最小,所以我们连接两树重心。 然后我们想到一个经典套路:计算距离可以不枚举点,只枚举边。于是我们枚举每条边,计算出它们各自被经过的次数,再求和即为答案。 维护 \(siz_x\) 阅读全文
posted @ 2024-07-25 17:32 _XOFqwq 阅读(6) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 15 下一页