一个增加条件的背包算法
每个小格有个权值(设为Ai (0 < i <= n)),表示选取后将获利多少。
(白色的表示没被选取,黄色的表示选取了)
背包大小有限为Msize,小格每个大小是m,总共n格,m*n > Msize
选取的小格的段数越多代价越高,每一段(不连续的黄色为一段)的代价是vh。
最后求一个最大的获利
MAX = (Ai + Ak …… Aj) - vh * (段数)
并且 mi + mk + …… Aj < Msize
[解决办法]
- -
[解决办法]
我说的办法解决不了么
[解决办法]
mi + mk + …… Aj < Msize
看到你这句,我就觉得你写在这里的题意可能不是你想表达的意思。
[解决办法]
>背包大小有限为Msize,小格每个大小是m,总共n格,m*n > Msize
那m和mi有啥区别
[解决办法]
>m*n > Msize
那你每小格的m到底是一样的还是不一样的?一样的话那这句什么意思?