1 条题解

  • 0
    @ 2026-9-9 8:56:33

    题解

    思路

    考虑两个人 i,ji,j 对总不满度的贡献。

    做法

    两区间不相交时贡献为 00;交叉但不包含时,无论如何安排座位,贡献都为 11。若 Li<Lj<Rj<RiL_i<L_j<R_j<R_i,当 Pj<PiP_j<P_i 时这对的可变贡献为 00,否则为 22。因此对每个严格包含关系,内层区间应获得更小的座位号。从外层人向内层人连有向边,得到一个 DAG,满足所有边的排列一定能把可变贡献全部降为零。

    从座位号 NN 到 11 倒序分配。当前可选的人是 DAG 中入度为零的顶点,即尚未安排的区间中没有其他区间严格包含它。为使最终的 PP 字典序最小,最大座位号应优先给人员编号最大的可选顶点,用大根堆执行拓扑排序即可。

    复杂度

    建图需要 O(N2)O(N^2) 时间与空间,堆操作需要 O(Nlog⁡N)O(N\log N) 时间。

    • 1

    信息

    ID
    1542
    时间
    2000ms
    内存
    512MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者