1 solutions

  • -1
    @ 2025-10-16 17:31:00

    T2 石头称重(stone)

    最暴力的方式是将所有可能的重量都求出来,排序后选择第 kk 小的。那么该如何优化解法呢?

    题目中有一个非常重要的性质:编号为 ii 的石头比所有编号小于 ii 的石头加起来的重量还要重。意思就是无论在所有编号小于 ii 的石头怎么选重量都不如直接选 ii 得到的重量重。

    这其实与二进制有相同的性质,对于二进制的第 ii 位,一定比 0i10 \sim i-1 位之和更大。于是我们利用二进制的方式解决此题。

    如果 kk 的二进制下第 00 位为 11,则选择第 11 块石头;第 11 位为 11,则选择第 22 块石头;依次类推,最终我们就得到了所选的石头的集合,将重量相加即可。

    • 1

    Information

    ID
    1598
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    8
    Tags
    (None)
    # Submissions
    50
    Accepted
    9
    Uploaded By