入门 Trick

两组不交匹配问题

找到 \(l_1, r_1, l_2, r_2\; s.t.\; l_1\leqslant l_2 < r_1 \leqslant r_2\),使得满足某些性质。

解法:对于每个数维护向左/右的最优匹配,最后枚举 \(l_2\)\(r_1\) 的中间点,两边 \(O(1)\)\(O(\log n)\) 找最优即可。

【一本通提高篇Trie字典树】Codechef REBXOR


平均数与常数比大小问题

给定一个数组 \(v\) 和常数 \(k\),求 \(v\) 中有多少连续段平均数大于 \(k\)

令前缀和为 \(sum\),则原数组中 \(l\)\(r\) 的成立条件为 \(sum_r - sum_l - 1 \geqslant k \times (r - l + 1)\),右边不是定值。

只需将 \(v\) 的所有值全部减 \(k\),再判断字段和是否为正即可。


树上异或路径

\((u, v)\) 的路径异或和为 \((1, u), (1, v)\) 的路径异或和的异或和。

【一本通提高篇Trie字典树】The xor-longest Path


断边/点来满足性质

给定一个图(树也可以做,但是树一搬有 dp 做法),要求断一些边,来满足某些性质。

把断边变成连边,用数据结构(一般情况并查集即可)维护联通快即可。

【一本通提高篇二分与三分】 Best Cow Fences


posted @ 2025-07-03 16:51  porse114514  阅读(3)  评论(0)    收藏  举报