1 条题解

  • 0
    @ 2026-4-30 11:35:26

    Part I: 注意到查询的过程,每轮操作会断掉一个环,因此返回的结果为 ncn - c,其中 cc 为置换环数。

    Part II: 考虑对于每对在同一个置换环内的点,将其交换拆开,显然枚举所有对并且能操作就操作,会让置换环数变为 nn。这样操作次数为 Θ(n2)\Theta(n^2),可以通过 Subtask 2。

    Part III: 考虑二分。我们对每个 ii 二分出前面的第一个 jj,满足 i,ji,j 在同一个置换环内即可。那么我们需要一次查询,查询在 0,1,,j0,1,\cdots, j 中有没有和 ii 在同一个置换环内的点。考虑构造 $p_1,p_2,\cdots,p_{j}, p_i, p_{j+1},p_{j+2}\cdots p_{i-1},p_0,p_{i+1},p_{i+2},\cdots$ 即可。

    • 1

    信息

    ID
    7561
    时间
    1000ms
    内存
    1024MiB
    难度
    10
    标签
    递交数
    4
    已通过
    0
    上传者