摘要:
2025年我新学的东西 DP 05-19 Slope Trick 08-07 Knuth 决策单调性优化。 字符串 04-06 SAM 后缀自动机。 04-17 \(O(n\log n)\) 后缀排序。 04-19 扩展 KMP。 04-19 Manacher。 07-09 回文自动机(回文树) 0
阅读全文
posted @ 2025-03-06 22:18
dengchengyu
阅读(34)
推荐(0)
posted @ 2025-11-11 07:18
dengchengyu
阅读(0)
推荐(0)
摘要:
11-08 题 目录11-08 题P5405 [CTS2019] 氪金手游 - 洛谷AT_agc036_f [AGC036F] Square Constraints - 洛谷F - Almost Sorted 2G - One Time Swap 2P13004 [GCJ 2022 Finals]
阅读全文
posted @ 2025-11-09 19:39
dengchengyu
阅读(6)
推荐(0)
摘要:
树上拓扑序个数小记 给定一棵有根外向树,要求对拓扑序个数计数。 设 \(f(x)\) 表示子树 \(x\) 的拓扑序个数,容易写出以下转移(先确定每个子树的拓扑序,再将它们分配): \[f(x)= (sz_x-1)!\prod_{v\in son(x)} \dfrac{ f(v)}{ sz_v!}
阅读全文
posted @ 2025-11-07 20:06
dengchengyu
阅读(3)
推荐(0)
posted @ 2025-11-07 18:45
dengchengyu
阅读(0)
推荐(0)
摘要:
一类树哈希方法 记 \(s(x)\) 表示子树 \(x\) 的哈希值(对 \(2^{64}\) 取模),则: \[s(x)=1+\sum _{v\in son_x} f(s(v)) \]其中 \(f\) 是整数到整数的映射,可以使用 Xor Shift,可以在 Xor Shift 异或一个固定的随机
阅读全文
posted @ 2025-11-07 07:19
dengchengyu
阅读(3)
推荐(0)
摘要:
11-05 题 P7468 [NOI Online 2021 提高组] 愤怒的小 N - 洛谷 CF1938M - 2024 ICPC Asia Pacific Championship CF1466H Finding satisfactory solutions - 洛谷 P8147 [JRKSJ
阅读全文
posted @ 2025-11-06 20:29
dengchengyu
阅读(6)
推荐(0)
posted @ 2025-11-04 22:24
dengchengyu
阅读(0)
推荐(0)
摘要:
10-31 题 目录10-31 题G - Minimum PermutationG - P-smooth numberG - Dream TeamP14254 分割(divide) - 洛谷 G - Minimum Permutation 可以用一个栈维护当前选了哪些数,从前往后考虑,首先检查 \(
阅读全文
posted @ 2025-11-03 22:36
dengchengyu
阅读(7)
推荐(0)
posted @ 2025-11-03 22:26
dengchengyu
阅读(0)
推荐(0)
摘要:
CSP-S 2025 题解 club 先贪心,每个数都选取 \(\max\)。考虑调整法解决 \(n/2\) 的限制,找到超过 \(n/2\) 的集合,按照次大值减去最大值的大小,从小到大把它们调整成次大值即可。复杂度 \(O(n\log n)\)(需要排序)。 road 先把初始 \(m\) 条边
阅读全文
posted @ 2025-11-03 22:19
dengchengyu
阅读(17)
推荐(0)
摘要:
CF Pinely Round 5(#2161) 总结 A~D A:每次都取到尽量小(对 \(0\) 取 max)即最优。 B:特判掉 2*2 的情况,剩下的情况只能是一条不断转弯的「斜线」,此时所有点都在两条相邻的斜线上,只需判断 \(x+y\) 的最值,或 \(x-y\) 的最值即可。 C:猜想
阅读全文
posted @ 2025-11-03 22:03
dengchengyu
阅读(16)
推荐(0)
摘要:
CSP-S 2025 总结 中午没有睡着,但是影响不大。 前两题 50 分钟过完,T2 写了一个 \(O(2^Kn(\log n+\alpha(n))\) 的做法,赛后发现可以归并把排序的 log 去掉。 然后先想 T3,考虑对 \(s_1,s_2\) 建 AC 自动机,然后枚举 \(t\) 中替换
阅读全文
posted @ 2025-11-02 19:23
dengchengyu
阅读(1)
推荐(0)
摘要:
10-29 题 目录10-29 题abc248_g G - GCD cost on the treeProblem - 1842G - Codeforcesabc231_g G - Balls in BoxesP2455 [SDOI2006] 线性方程组 - 洛谷abc249_g G - Xor C
阅读全文
posted @ 2025-10-31 16:34
dengchengyu
阅读(4)
推荐(0)
posted @ 2025-10-31 15:52
dengchengyu
阅读(0)
推荐(0)
摘要:
10-30 题 目录10-30 题Joke - 题目 - QOJ.ac\(k\)-coloring - 题目 - QOJ.acPermutation Recovery - 题目 - QOJ.acExcluded Min - 题目 - QOJ.acAngle Beats 2.0 - 题目 - QOJ.
阅读全文
posted @ 2025-10-31 15:52
dengchengyu
阅读(4)
推荐(0)
posted @ 2025-10-29 08:21
dengchengyu
阅读(0)
推荐(0)
摘要:
AtCoder AGC074 总结 A 赛时一个多小时通过。考虑特殊点。由于是有向无环图,考虑入度为 0 的点。考虑怎么区分多个入度为 0 的点,由于这些点中一定有一个点取到当前可选值域的最小值,所以想到 select 除了最小值以外的点,此时自然可以确认最小值所在的点,即对答案的贡献为零度点个数减
阅读全文
posted @ 2025-10-27 21:00
dengchengyu
阅读(20)
推荐(0)
posted @ 2025-10-27 20:40
dengchengyu
阅读(0)
推荐(0)
摘要:
树状数组 区间加 & 区间和 小记 考虑差分数组的变化,即 \(d_i=a_i-a_{i-1}\)。 那么区间加时,会使 \(d_l\gets d_l+val,d_{r+1}\gets d_{r+1}-val\)。 考虑求区间和,转化为求前缀的和,即求 \[\begin{aligned} \sum
阅读全文
posted @ 2025-10-25 22:43
dengchengyu
阅读(3)
推荐(0)
posted @ 2025-10-25 22:29
dengchengyu
阅读(0)
推荐(0)
摘要:
CF Round 1046(#2135) 总结 A 可以 DP,用 vector 存下这个数出现的位置。 B 考虑移动到无限远处,如果移到左下角,容易发现离的最近的点就是离 \((-10^9,-10^9)\) 最近的点。这样就能确定一条直线(确定 \(x+y\))。 同理移动到左上角又确定一条直线(
阅读全文
posted @ 2025-10-24 21:45
dengchengyu
阅读(3)
推荐(0)
摘要:
10-23 好题选讲总结 目录10-23 好题选讲总结P13779 「o.OI R2」试机题 - 洛谷P8861 线段 - 洛谷P10322 高洁(Purity) - 洛谷ABC242 Ex - Random PaintingYet Another 伟大的数据结构问题 - 云斗学院【UR #32】王
阅读全文
posted @ 2025-10-24 21:00
dengchengyu
阅读(8)
推荐(0)
posted @ 2025-10-22 20:45
dengchengyu
阅读(0)
推荐(0)
posted @ 2025-10-21 19:08
dengchengyu
阅读(0)
推荐(0)
摘要:
10-20 Extra-Problem 总结 AtCoder abc280_g 发现点 \((x,y)\) 的距离实际上是 \(\max(|x|,|y|,|x-y|)\)。由于坐标是可平移的,所以 \((x_1,y_1),(x_2,y_2)\) 的距离为 \(\max(|x_1-x_2|,|y_1-
阅读全文
posted @ 2025-10-20 22:45
dengchengyu
阅读(7)
推荐(0)
摘要:
AtCoder AGC047 总结 A 由于小数位最多九位,我们先乘 \(10^9\),转化为求 \(10^{18}\mid a_ia_j\) 的个数。 考虑分解质因数,要求 \(2,5\) 的次数都至少为 \(18\) 即可。时间 \(18^2\times n\)。 B 一个串可以变成的串形如,选
阅读全文
posted @ 2025-10-20 16:55
dengchengyu
阅读(10)
推荐(0)
posted @ 2025-10-19 20:35
dengchengyu
阅读(0)
推荐(0)
摘要:
CF Global Round 29(#2147) 总结 A void solve() { int x,y; cin>>x>>y; if(x<y) return cout<<"2\n",void(); --x; if(y<x&&y>1) return cout<<"3\n",void(); co
阅读全文
posted @ 2025-10-17 22:47
dengchengyu
阅读(9)
推荐(0)
posted @ 2025-10-17 19:20
dengchengyu
阅读(0)
推荐(0)
posted @ 2025-10-17 19:15
dengchengyu
阅读(0)
推荐(0)
posted @ 2025-10-17 18:34
dengchengyu
阅读(0)
推荐(0)
摘要:
AtCoder arc208 总结 A 猜想 SG 是 \(a_1\oplus a_2\oplus \cdots \oplus a_n \oplus (a_1 \lor a_2 \lor \cdots \lor a_n)\)。然后发现过了。 B 发现当 \(a_i=\lfloor\dfrac{a_{
阅读全文
posted @ 2025-10-17 18:34
dengchengyu
阅读(16)
推荐(0)
posted @ 2025-10-17 18:33
dengchengyu
阅读(0)
推荐(0)
posted @ 2025-10-17 18:32
dengchengyu
阅读(0)
推荐(0)
摘要:
最小割树 小记 算法 问题如下:给定一张无向图(\(n\le 500,m\le 1500\)),点有点权,\(Q\) 次(\(Q\le n^2\))询问两点 \(S,T\) 之间的最小割。 可以建出最小割树,建树过程如下: 对于给定的点集,随便找两个点 \(S,T\) 求出 \(S,T\) 在原图上
阅读全文
posted @ 2025-10-16 21:55
dengchengyu
阅读(3)
推荐(0)
posted @ 2025-10-14 19:44
dengchengyu
阅读(0)
推荐(0)
摘要:
CF Round 1055(#2152) 总结 VP 时过了 ABCE。 A. Increase or Smash 对于每一种数字都要操作两次,先把小于自己的清零,然后再加操作。 第一次不用清零,因此答案为 \(2\times 种类数-1\)。 复杂度 \(O(\sum n)\)。 B. Catch
阅读全文
posted @ 2025-10-13 22:43
dengchengyu
阅读(5)
推荐(0)
摘要:
CF Round 1058(#2159) 总结 A 从左到右扫一次,维护一个待询问集合 \(S\),若 \(q(S\cup i)=v\ne 0\) 则 \(a_i=v\) 第二次出现,否则将 \(i\) 加入 \(S\),这样所有 \(1\sim n\) 都确定了一个位置。 对于没有被确定的位置,用
阅读全文
posted @ 2025-10-13 22:42
dengchengyu
阅读(9)
推荐(0)
posted @ 2025-10-10 16:17
dengchengyu
阅读(0)
推荐(0)
摘要:
AtCoder ARC207 总结 B 构造题。观察样例,发现 \(i\) 恰好三步到达 \(n-i\),其他点都是两步到达,这使我们想到 \(n\) 为偶数时的解法:分成 \(\le n/2\) 和 \(>n/2\) 的两部分点,对于其中一部分,我们让一个点恰好两步到达恰好一个或两个点。而对于两部
阅读全文
posted @ 2025-10-07 21:52
dengchengyu
阅读(47)
推荐(0)