题解 CF2103D Local Construction
根据每个数被删除的轮次,我们可以得知或构造出数之间大小关系的约束。若有向边 $u\to v$ 表示 $u>v$,那么最终构成的约束图一定是 DAG,按照这幅图的拓扑序由 $n$ 向 $1$ 分配数的大小便是一组合法解。
考虑构造约束图。当前进行到第 $i$ 轮,当前还未被淘汰掉的点有 $u_1,u_2,\dots,u_k$,这里考虑进行到偶数轮,奇数轮是这种情况的对称。如果点 $u_i$ 在当前论中没被淘汰,那么一定有 $u_i>u_{i-1}$ 且 $u_i>u_{i+1}$,所以连接 $u_i\to u_{i-1}$ 和 $u_i\to u_{i+1}$。如果点 $u_i$ 在当前论中被淘汰了,若其左右没被淘汰,那么大小关系一定是确定的,不用考虑。如果有一个连通块 $u_l,u_{l+1},\dots,u_r$,所有的点在这一轮中都是要淘汰的,那么就需要手动确定一组大小关系来满足条件,连通块内的点只能全部用 $<$ 或 $>$ 连接。若 $u_l=u_1$,那么只能有 $u_l<u_{l+1}<\dots<u_r$,否则若 $u_1>u_2$ 时 $u_1$ 就不会被淘汰了。同理,若 $u_r=u_k$,那么只能有 $u_l>u_{l+1}>\dots>u_r$。一般情况下 $u_l<u_{l+1}<\dots<u_r$ 和 $u_l>u_{l+1}>\dots>u_r$ 都是可行的,随便选择一组连接即可。
时间复杂度 $O(n)$。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Asahi 的博客!