02 2025 档案
摘要:省选集训-图论杂题 CF888G 到现在已经是典中典了。 考虑 boruvka 算法,根据异或性质,事实上 Trie 树也可以叫做一类 boruvka 异或最小生成树树。 所以在Trie上分治做,每遇到一个分叉点就说明有权值,将左边的拿出来查右边取最值即可。 P8260 嗯,史中史。 是这样的,首先
阅读全文
摘要:省选集训-字符串杂题 基础子串结构太ex就不看了 CF1827C 考虑如何将一个由若干偶回文串拼接而成的串分解开。 容易发现每次从后往前删掉最短回文串就是对的。 所以问题变成求 表示 是以 为结尾的最短回文串位置。 则可以 计算,\(
阅读全文
摘要:省选模拟4 A 小丑做法,设 为使用边权 的边连通了集合 ,里面使用了 个 的最小生成树。 转移朴素枚举,复杂度 B 是原题。 注意到一个点走过一轮后,从父亲离开后下一次访问会完全访问。 因
阅读全文
摘要:算法原理请见 oi-wiki SAM 模板:建立SAM & 统计 endpos 大小 #include<bits/stdc++.h> using namespace std; #define N 2050500 int lik[N],ch[N][27],len[N],num=1,lst=1,mn[N
阅读全文
摘要:这应该是第一节能够课上听懂的知识了 算法原理 SA 算法,著名的后缀数组 以下只讨论 的倍增构造 目标:求出 表示后缀字典序排名为 的后缀的起始位置。 ababa --> 53142 算法核心:倍增法。 我们考虑先求出仅考虑 \([i,i+
阅读全文