T1

score:100/100

错解不优,因此记录全局可选答案即可。

开始没判断要不要开 long long 导致浪费了快 1h。

T2

场上没调完,这栈空间怎么还能爆啊。

考虑合法序列要满足:

  1. 按深度标号后单调不降。
  2. 按父亲标号后都是连续段。
  3. 与父亲在序列中的位置对应。

第一条在合法状态下的标号序列只有一种,可以简单 \(O(1)\) 判断是否相同。

第二三条可以一起用哈希维护,具体的,按深度分为若干个序列。对于每个序列计算:

\(hs\leftarrow hs+(val[now]\oplus val[pre])^{val[now]} \pmod {145874587}\)

这个东西可以拿小常数 ds 快速维护。能过。

T3

分讨题,感觉比 T2 简单。开题错误。

首先 4 个象限可以转换成都在 1 象限,这是简单的。

考虑所有的 L 在 R 前面,D 在 U 前面怎么做。

将 L,D 单独拿出来,两两配对,将 `R,U‵ 拿出来,两两配对。

如果是奇数,则两边各剩一个,我们选择留下最靠右的 L,D,位置为 \(pos_{ld}\),以及最靠左的 R,U,位置为 \(pos_{ru}\)。

那么当 \(pos_{ru} 时,一次修改即可,否则需要两次修改。

对于任意的序列,先将匹配的 UD 和 RL 删掉,之后用上面的做法即可。


可能还是开题顺序有点问题,以及思路总是在反复横跳。

之后尝试一下按照时间表写题。