【置顶】嘴巴
要锻炼思维就不能每道都写。(然而这并不意味你写就草草写!xml 的赛场调试水平之差有目共睹 qaq…)因 此 开 了 「㗅」坑。
嘴巴题不会放在「学习计划」里。
因为是嘴巴题所以低配,一律 details。
加星号的是打算有时间写写的。
$CF741D$
「重排」这个条件非常强:所有字符只能有最多一种出现奇数次。奇偶性考虑异或。对于一种 01 路径维护最长的那条。启发式合并每个子树的路径。O(nlogn)
$BZOJ4771-$七彩树
多次询问子树 x 里深度为 [dep_x, dep_x + d] 有多少种不同的颜色。无脑线段树合并复杂度肯定错了嘛。
不考虑深度限制,初始时某颜色 c 的两个点 a、b 各自贡献是 1,到了 lca(a, b) 就要除去 1 个贡献。最后答案是子树和。
考虑深度限制:预处理距离每个 x <= 1 d 的答案。[dep_x, dep_x + d] 在 dfs 序上是连续的。 假设我们已经有 <="d" - 的答案,那就把深度为 的答案加进来,按 序插在主席树里就好。(好㗅 details>
$AGC051D$
巧妙处理。路径的分类标准是什么?我模糊感觉到不同的类别之间应该要有关联。怎么用合适的分类去把 abcd 关联起来呢?
官方题解:分三类。
1. 过 $T$ 型。$S \rightarrow T \rightarrow U$, $U \rightarrow T \rightarrow S$
2. 过 $V$ 型。$S \rightarrow V \rightarrow U$, $U \rightarrow V \rightarrow S$
3. 回型。$S \rightarrow T \rightarrow S$, $S \rightarrow V \rightarrow S$, $U \rightarrow T \rightarrow U$, $U \rightarrow V \rightarrow U$
枚举过 $T$ 型和过 $V$ 型的数量,列出一个好多组合数的柿子,然后变成阶乘再 FFT。。大概就完了,主要是分类比较神。
WC2018-即时战略
好像没什么特别妙的= =……?数据范围一眼 log。要一棵树支持:1. 加点 2. 快速跳到一个点
方法一:二分!LCT,在实链上不断二分,然后跳到下一个实链。
方法二:点分树 + 替罪羊重构。维护已知树的点分树,设 explore(x, y) = z,从 z 开始向上跳 logn 次找到 z 在 x 的哪个点分子树里,跳过去。这样的上跳要点分树深度次即 logn 次,于是是 O(nlog^2n) 的。
=>