上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 21 下一页
摘要: written by Ulysses 赛时通过:A、B、C。 赛后补题:D、E。 A 依题判断即可。 #include<bits/stdc++.h> using namespace std; int y; int main(){ cin>>y; if(y%4!=0) cout<<365; if(y% 阅读全文
posted @ 2024-08-10 10:17 _KidA 阅读(22) 评论(0) 推荐(0)
摘要: UVA1328 简单题。 我们有结论:对于一个周期串 \(S\) 的子串 \(T\),它的最小循环节即为 \(T-nxt_{\left| T \right|}\)。(具体请查阅往期笔记) 于是,我们枚举所有前缀,检验上式是否能被当前前缀的长度整除并且不止一个循环节即可。 code #include< 阅读全文
posted @ 2024-08-07 14:35 _KidA 阅读(14) 评论(0) 推荐(0)
摘要: CF126B 朴素解法:求出原字符串的最长 border,并 kmp 匹配出出现在中间的最长 border,若没有则不断缩短 border 的长度,直到中间存在。若 border 长度减到了 \(0\),则无解。 我们通过画图来探索优化方式。 如图,蓝色部分为原串的最长 border,红色部分为蓝色 阅读全文
posted @ 2024-08-06 13:01 _KidA 阅读(17) 评论(0) 推荐(0)
摘要: Kobe-Morris-Pratt 算法 定义 一些基本定义: border:是一个字符串的子串(不与其本身相同)且满足既是其前缀又是其后缀的字符串,我们称之为该字符串的一个 border。 Kobe-Morris-Pratt 算法(以下简称 KMP 算法),是解决字符串匹配问题的一种算法,实际做题 阅读全文
posted @ 2024-08-05 12:14 _KidA 阅读(23) 评论(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 _KidA 阅读(5) 评论(0) 推荐(0)
摘要: U224225 一眼网络流,但是被诈骗了。 容易发现以每个点作为源点得到的答案均不相同,考虑换根 dp。 令 \(dp_i\) 表示以 \(i\) 为根的子树的最大流量。 初始: \[\begin{cases} dp_{cur}=0\ \ \ \ \ \text{when} \ cur \ 为非叶子 阅读全文
posted @ 2024-08-03 14:37 _KidA 阅读(13) 评论(0) 推荐(0)
摘要: 众所周知,换根 dp 是非常套路的。换根真好玩( 换根 dp: 当不同节点作为根时,dp 结果不一致,若枚举每个节点作为根,则时间复杂度过高,在此种情形下,可使用 换根 dp 处理相邻两节点间的贡献,从而达到快速换根的效果。 使用场景: 对于一棵树,寻找以某节点 \(u\) 为根时取得的 最大值 / 阅读全文
posted @ 2024-08-01 19:46 _KidA 阅读(16) 评论(0) 推荐(0)
摘要: P1272 & P1273 请查阅往期笔记,此处不再赘述。 其中 P1273 我们学到了定义更好求解的状态(一般是转化为价值,如本题),再通过枚举求解最终答案。 P8625 容易发现你选出的 \(S\) 一定是一个子树。 然后这题就变成最大子树和了。 关于最大子树和那题,请查阅往期笔记,此处不再赘述 阅读全文
posted @ 2024-07-31 13:56 _KidA 阅读(15) 评论(0) 推荐(0)
摘要: 复习树形 dp。 树形 dp 定义状态一般套路:令 \(dp_i\) 表示以 \(i\) 为子树的 xxx(要维护的信息),可以有多维,但一定会有这一维。 P2016 & P2014 请查阅往期笔记,此处不再赘述。 P2585 以前是分讨每个节点有几个儿子,然后分别转移。 其实不用分讨,直接将所有节 阅读全文
posted @ 2024-07-30 15:21 _KidA 阅读(15) 评论(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 _KidA 阅读(29) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 21 下一页