个人心得:多重背包,自己根据转换方程写总是TLE,后面去网上看了二进制转换,不太理解: 后面仔细想了下,用自己的思想理解下把,就是将对应number,cash总和用二进制拆分, 然后全部装入到一个数组,这样子就可以减少循环,同时转变为01背包,这样子想把, 5 5,就变成了5,10,20,5然后用01背包互相取与不取也可以组成对应的k=1-5乘以5的值. 转换方式如下: ) { t[account++]=k*cash[i]; number[i]-=k; k=k*; } t[account++]=