背包
文章平均质量分 69
soloier
这个作者很懒,什么都没留下…
展开
-
单调队列优化多重背包
多重背包的最原始的状态转移方程:令 c[i] = min(num[i], j / v[i])f[i][j] = max(f[i-1][j-k*v[i]] + k*w[i]) (1 <= k <= c[i]) 这里的 k 是指取第 i 种物品 k 件。如果令 a = j / v[i] , b = j % v[i] 那么 j = a * v[i] + b.这里用 k 表示的意义改变, k 表示原创 2016-10-19 10:44:55 · 2702 阅读 · 0 评论 -
多米诺骨牌
题目描述多米诺骨牌有上下2个方块组成,每个方块中有1~6个点。现有排成行的上方块中点数之和记为S1,下方块中点数之和记为S2,它们的差为|S1-S2|。例如在图8-1中,S1=6+1+1+1=9,S2=1+5+3+2=11,|S1-S2|=2。每个多米诺骨牌可以旋转180°,使得上下两个方块互换位置。编程用最少的旋转次数使多米诺骨牌上下2行点数之差达到最小。对于图中的例子,只要将最后一个多米诺骨牌旋原创 2016-08-05 15:08:54 · 1748 阅读 · 1 评论