摘要: KMP 几个定义: \(pre_i = s[1, i]\),\(suf_i = s[n - i + 1, n]\)。 \(p\) 是 \(s\) 的 border 当且仅当 \(pre_p = suf_p\),特殊的,\(n\) 一定是 \(s\) 的 border。 \(p\) 是 \(s\) 的 阅读全文
posted @ 2024-07-24 23:48 Lu_xZ 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 欧拉函数 定义 \[\varphi(n) = \sum_{i = 1}^n [(i, n) = 1] \]公式 对于所有质数,显然有 \(\phi(n) = n - 1\)。 对于 \(n = p_1^{a_1}p_2^{a_2}\cdots p_k^{a_k}\), \[\phi(n) = n(1 阅读全文
posted @ 2024-05-06 01:13 Lu_xZ 阅读(94) 评论(0) 推荐(0) 编辑
摘要: P4178 Tree 题意:给定一棵树,求多少无序对 \((u, v)\) 满足 \(\text{dist}(u, v) \le k\)。 对于树上的路径进行分类:经过根;不经过根。 第二类路径点可以通过递归子树求出。 对于经过根的路径,可以一遍 dfs 求出每个点到根的距离 \(\text{dis 阅读全文
posted @ 2024-08-06 13:12 Lu_xZ 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 死亡之组 如果 \(\sum [a_i < L] < 3\),一定无解。 否则: \(a_1 < L\),只需检验是否有 \(mx - mi > D\),因为我们能同时选最大最小值。 \(a_1 \ge L\),此时不能选 \(mx\) 了,剩下的位置必须留给 \(a_1\),检查是否 \(a_1 阅读全文
posted @ 2024-07-27 00:58 Lu_xZ 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 杂题 CF1778F *2600/省选/NOI- CF1167E *2100/提高+/省选- CF156C *2000/普及+/提高 结论:和相同的任意一种状态都能到达。 证明:看做 \(n\) 堆硬币,每堆任何时候不超过 \(25\),始终存在一种方式移动一枚硬币到其他地方。 等价于求 \(x_1 阅读全文
posted @ 2024-07-03 01:02 Lu_xZ 阅读(19) 评论(0) 推荐(0) 编辑
摘要: A 编号为 \(n\) 的一定选,第二叠书在 \(1\sim n - 1\) 选最大的。 void solve() { cin >> n; for(int i = 1; i <= n; ++ i) { cin >> a[i]; } int ans = a[n]; int x = 0; for(int 阅读全文
posted @ 2024-06-17 09:09 Lu_xZ 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 线段树优化建图 CF786B Legacy \(n\) 个点,\(m\) 次连边,求最短路。 \(u\) 连向 \(v\)。 \(u\) 连向 \([l, r]\)。 \([l, r]\) 连向 \(u\)。 操作二:单点向线段连边,且线段存在向下的边走到叶子(绿色边)。 操作三:线段向单点连边,且 阅读全文
posted @ 2024-06-15 16:06 Lu_xZ 阅读(7) 评论(0) 推荐(0) 编辑
摘要: Codeforces Round 952 (Div. 4) A void solve() { string s, t; cin >> s >> t; swap(s[0], t[0]); cout << s << ' ' << t << '\n'; } B 原数据范围枚举足矣。 进一步分析性质:\(x 阅读全文
posted @ 2024-06-12 06:49 Lu_xZ 阅读(466) 评论(1) 推荐(0) 编辑
摘要: Codeforces Global Round 26 A 如果 \(a_1 = a_n\),无解。 如果 \(a_2 = a_n\),\(a_1, a_2\) 涂成红色,否则只把 \(a_1\) 涂成红色。 void solve() { cin >> n; for(int i = 1; i <= n 阅读全文
posted @ 2024-06-10 10:20 Lu_xZ 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 6/24 CF1883F *1400 性质题。 如果子串的开头不是这个元素的第一个位置 x...xaaaaaa,子序列不唯一。 如果子串的结尾不是这个元素最后一个位置 aaaaaax...x,子序列不唯一。 如果子串的开头是一个位置,结尾是最后一个位置 ...xaaaaaay...,子序列唯一。 C 阅读全文
posted @ 2024-05-29 09:44 Lu_xZ 阅读(74) 评论(0) 推荐(0) 编辑
摘要: Prüfer 序列 \(n\) 个点的有标号无根树可以与一个长度为 \(n - 2\) 的 Prüfer 序列对应。 从树到 Prüfer 序列 \(f\) 为空序列。 如果当前树上多于两个节点,假设当前标号最小的叶子为 \(x\),与 \(x\) 相连的节点标号为 \(y\),那么把 \(x\) 阅读全文
posted @ 2024-05-23 12:26 Lu_xZ 阅读(16) 评论(0) 推荐(0) 编辑