题目
分析
贪心+动归
- 当有1个砝码
可以称出的最大质量为1
称不出的最小质量为2
- 当有2个砝码
要想得到在1个砝码时称不出来的质量2,新的砝码质量可以是1、2、3,但是4不行,因为4-1 = 3 > 2
由贪心的思想,要想得到最大质量区间,新砝码取3。原因如下图
当有3个砝码
- 有2个砝码时得不到的最小质量是5
- 要想得到质量区间最大,新砝码要在尽可能大的前提下满足减去前2个砝码的和后依然能得到5。所以新砝码的最大质量为5(2个砝码时最小得不到得到质量) + 4(2个砝码时能得到的最大质量) = 9
贪心
dp[ i ]:在有i个砝码时能得到的最大质量
转移方程:
1
2
3dp[i + 1] = dp[i] + maxFama
maxFama = dp[i] + (dp[i] + 1)
dp[i + 1] = 3 * dp[i] + 1
估计开多大空间
代码
1 | import java.util.Scanner; |