1 条题解

  • 0
    @ 2026-4-4 18:20:22

    B. 凶险迷宫 详细题解

    核心观察

    1. 单元格 ii 距离出口的距离为 ni\boldsymbol{n-i}
      • 数字越大,距离出口越近
      • 出口是 n\boldsymbol{n},距离为 00
    2. 每个人必须使用传送器恰好 kk
    3. 要求 aii\boldsymbol{a_i \neq i}
    4. 我们的目标:让尽可能多的人最终停在最大的数字(即出口 nn),使总距离最小。

    构造策略(贪心)

    我们只需要根据 kk奇偶性构造即可:

    情况 1:k\boldsymbol{k} 是奇数(k%2=1k \% 2 = 1

    • 目标:让所有人最终到达 nn
    • 构造方式:
      • n1n-1 个位置:直接传送到 n\boldsymbol{n}
      • nn 个位置:传送到 n1\boldsymbol{n-1}
    • 原理:
      • 位置 1n11 \dots n-111 次传送直达 nn,剩下 k1k-1(偶数)次在 nnn1n-1 之间来回跳,最终停在 nn
      • 位置 nn11 次到 n1n-1,剩下偶数次来回,最终停在 nn

    情况 2:k\boldsymbol{k} 是偶数(k%2=0k \% 2 = 0

    • 目标:除了一个位置外,其余全部到达 nn
    • 构造方式:
      • n2n-2 个位置:传送到 n1\boldsymbol{n-1}
      • n1n-1 个位置:传送到 n\boldsymbol{n}
      • nn 个位置:传送到 n1\boldsymbol{n-1}
    • 原理:
      • 位置 1n21 \dots n-2:偶数次传送后停在 nn
      • 位置 n1n-1nn:偶数次来回后,一个在 nn,一个在 n1n-1
      • 这是满足 aiia_i \neq i 约束下的最小距离和

    复杂度分析

    • 时间复杂度:O(n)\boldsymbol{O(n)} 每组测试用例。
    • 空间复杂度:O(1)\boldsymbol{O(1)}
    • 完全满足 n2×105n \le 2 \times 10^5t104t \le 10^4 的数据范围。

    总结

    这是一道纯构造贪心题,核心就是:

    • kk:全员冲向 nn
    • kk:除一对来回点外,全员冲向 nn。 按奇偶性直接输出对应数组即可。
    • 1

    信息

    ID
    6364
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者