08 2024 档案
摘要:8-12:\(90+100+0+100+0+10=300\),\(rk \ 3\)。 8-13:\(100+0+0+0+0+0=100\),\(rk \ 17\)。 8-14:\(100+0+0+0+0+0=100\),\(rk \ 17\)。 8-15:\(100+0+0+0+0+0=100\),
阅读全文
摘要: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%
阅读全文
摘要:UVA1328 简单题。 我们有结论:对于一个周期串 \(S\) 的子串 \(T\),它的最小循环节即为 \(T-nxt_{\left| T \right|}\)。(具体请查阅往期笔记) 于是,我们枚举所有前缀,检验上式是否能被当前前缀的长度整除并且不止一个循环节即可。 code #include<
阅读全文
摘要:CF126B 朴素解法:求出原字符串的最长 border,并 kmp 匹配出出现在中间的最长 border,若没有则不断缩短 border 的长度,直到中间存在。若 border 长度减到了 \(0\),则无解。 我们通过画图来探索优化方式。 如图,蓝色部分为原串的最长 border,红色部分为蓝色
阅读全文
摘要:Kobe-Morris-Pratt 算法 定义 一些基本定义: border:是一个字符串的子串(不与其本身相同)且满足既是其前缀又是其后缀的字符串,我们称之为该字符串的一个 border。 Kobe-Morris-Pratt 算法(以下简称 KMP 算法),是解决字符串匹配问题的一种算法,实际做题
阅读全文
摘要: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
阅读全文
摘要:U224225 一眼网络流,但是被诈骗了。 容易发现以每个点作为源点得到的答案均不相同,考虑换根 dp。 令 \(dp_i\) 表示以 \(i\) 为根的子树的最大流量。 初始: \[\begin{cases} dp_{cur}=0\ \ \ \ \ \text{when} \ cur \ 为非叶子
阅读全文
摘要:众所周知,换根 dp 是非常套路的。换根真好玩( 换根 dp: 当不同节点作为根时,dp 结果不一致,若枚举每个节点作为根,则时间复杂度过高,在此种情形下,可使用 换根 dp 处理相邻两节点间的贡献,从而达到快速换根的效果。 使用场景: 对于一棵树,寻找以某节点 \(u\) 为根时取得的 最大值 /
阅读全文
浙公网安备 33010602011771号