摘要:
背包问题。思路:如果m=5: 求出背包容量为m-5,买前n-1样便宜的菜(排个序)的最大价值(即最大消费,即消费完后剩余值最接近5)最后减去最大的那个菜的价格,就得到最小的余额。代码:#include #include #include #include #include using namespa... 阅读全文
摘要:
这题有些巧妙,看了别人的题解才知道做的。因为按常规思路的话,背包容量为浮点数,,不好存储,且不能直接相加,所以换一种思路,将背包容量与价值互换,即令各银行总值为背包容量,逃跑概率(1-P)为价值,即转化为01背包问题。此时dp[v]表示抢劫到v块钱成功逃跑的概率,概率相乘。最后从大到小枚举v,找出概... 阅读全文
摘要:
01背包的变形。先算出硬币面值的总和,然后此题变成求背包容量为V=sum/2时,能装的最多的硬币,然后将剩余的面值和它相减取一个绝对值就是最小的差值。代码:#include #include #include #include #include using namespace std;#define... 阅读全文
摘要:
这种01背包的裸题,本来是不想写解题报告的。但是鉴于还没写过背包的解题报告。于是来一发。这个真的是裸的01背包。代码:#include #include using namespace std;#define N 1007int c[N],w[N],dp[N];int main(){ int ... 阅读全文