这题用01背包的大方向还是比较容易想到的,主要难点就是两种球任一种满足条件就可,两种球在一起容易乱,自己想的时候就卡在状态转移不知道该往哪种情况考虑,越想越乱qwq

(这里感谢楼上大大的题解)

所以破局的关键就是把三种情况考虑清楚了

  • 第一种第二种比较好想,如果我只期待一种颜色的球达到K,那么我就要假设每次都是ai-1的情况,然后a球的个数满足要求
  • 第三种就有点费脑筋了(我一度以为第三种是可以被前两种包含的)它和前两种的区别就在于最后选出的方案不一定满足有某种球的(ai-1)的和达到k。

设计状态转移方程的时候记清楚个数对应于01背包的weight,花费对应于01背包的value就好了