题意:
打僵尸游戏,你有一把枪,一个弹夹里装着 k k k发子弹,有 n n n波僵尸,每一波僵尸在 [ l i , r i ] [l_i,r_i] [li,ri]时间内同时出现 a i a_i ai个, n n n个区间相互不重合,消灭僵尸不消耗时间,但是换弹夹(将子弹填充满)需要 1 1 1个时间,若换掉的弹夹里还有子弹,则这些子弹被统计为额外的消耗,求的是消灭所有僵尸所消耗的最少的子弹数量(僵尸的数量加上丢掉的子弹数量)是多少(等价于丢掉的子弹的数量最少)?
题解:
首先能想到的DP就是 d p [ i ] [ 2 ] dp[i][2] dp[i][2]的状态表示, d p [ i ] [ 0 ] dp[i][0] dp[i][0]表示消灭了前 i − 1 i-1 i−1波的僵尸且在第 i i i波开始前换弹的丢掉子弹的最小值;