摘要:
因为 0 ≤ Vi , Ci ≤ 10 , 范围很小,故可以转化为多重背包+二进制优化来解决。分解为系数为1,2,4,8...Mi-2^k+1的物品再做01背包。View Code 1 /* 2 Author:Zhaofa Fang 3 Lang:C++ 4 */ 5 #include <cstdio> 6 #include <cstdlib> 7 #include <sstream> 8 #include <iostream> 9 #include <cmath>10 #include <cstring>11 #incl 阅读全文
摘要:
题意:有n个品牌,每个品牌至少买一件。01背包加上一维,设计状态dp[k][i]表示前k种花费i所取得的最大值,状态可由前k-1种和当前品牌取得,注意初始化和方程的位置(无后效性)。View Code 1 /* 2 Author:Zhaofa Fang 3 Lang:C++ 4 */ 5 #include <cstdio> 6 #include <cstdlib> 7 #include <sstream> 8 #include <iostream> 9 #include <cmath>10 #include <cstring&g 阅读全文