假设当前的 i 个砝码可称出 (1 ~ n) 之间所有重量,那么再添加一枚重量为 2n + 1 的砝码,就可以覆盖 (n + 1 ~ 3n + 1) 之间的所有重量,使总范围达到 (1 ~ 3n + 1) 所以有状态转移方程:dp[ i ] = dp[ i - 1 ] * 3 + 1 由于每一项的值只与前一项有关,所以可以使用变量代替数组 #incl...
原题链接:蓝桥杯2021年第十二届省赛真题-最少砝码 解题思路: //思路:贪心算法:初始砝码重量一定为1,利用贪心的思路,我们希望每当当前砝码称重范围不足时,加入的那个砝码将称重范围最大程度上得扩大 //当n==1时,所加砝码重量为1,当前砝码为1,总重量1 //当n==2时,所加的砝码重量为1+2=3时可以最大化...
假设当前的 i 个砝码可称出 (1 ~ n) 之间所有重量,那么再添加一枚重量为 2n + 1 的砝码,就可以覆盖 (n + 1 ~ 3n + 1) 之间的所有重量,使总范围达到 (1 ~ 3n + 1) 所以有状态转移方程:dp[ i ] = dp[ i - 1 ] * 3 + 1 由于每一项的值只与前一项有关,所以可以使用变量代替数组 #incl...