#MXCSPJ0302. MXCSP-J第三套模拟卷T2 石头称重(stone)
MXCSP-J第三套模拟卷T2 石头称重(stone)
T2 石头称重(stone)
最暴力的方式是将所有可能的重量都求出来,排序后选择第 小的。那么该如何优化解法呢?
题目中有一个非常重要的性质:编号为 的石头比所有编号小于 的石头加起来的重量还要重。意思就是无论在所有编号小于 的石头怎么选重量都不如直接选 得到的重量重。
这其实与二进制有相同的性质,对于二进制的第 位,一定比 位之和更大。于是我们利用二进制的方式解决此题。
如果 的二进制下第 位为 ,则选择第 块石头;第 位为 ,则选择第 块石头;依次类推,最终我们就得到了所选的石头的集合,将重量相加即可。