ABC 396 DEF
D
D 题是非常简单的深搜,不再多讲
E
E 的问题有两点:
- 需要意识到数据给的图可能并非完全连通,而是由多个连通块组成的。
- 需要正确地从直觉上理解异或过程。笔者刚开始做题时以为根节点的权值不管怎么变,最终得到的 \(\Sigma\) 都是相等的,这是非常错误的直觉。实际上我们再往前考虑一步,也就是尝试按位算贡献,我们可以发现,在一个连通块(本题中可看作一棵树)中,根节点到某节点的异或就是根节点的值异或上其到该节点的简单路径的异或和,此时我们按位算贡献,可以发现每条简单路径在 i 位上的贡献不是 0 就是 1,可以根据该位的 0、1 的个数来决定根节点在该位上应当是 0 还是 1。如果按之前的错误直觉,0 和 1 的个数应当是固定的,即 x 个 0 和 x + 1 个 1,但实际上并不是这样。
F
F 题需要我们观察到当 k + 1 时的变与不变,我们可以盯住 a[i],可以发现只有当它是 m - 1 时,整体 + 1 才会产生逆序对的变化,样例玩到这里会感到混乱,但只要仔细想想能发现其实还好。我们发现当 a[i] 是 m - 1 时,对其 + 1,它左边的非 m - 1 元素会导致逆序对的增加,右边的非 m - 1 元素会导致逆序对的减少,则维护一个前缀和后缀即可,然后对答案进行迭代。