摘要: 这个题的意思是有一个人有N门课程,M天的复习时间, 现在给你他复习第i门课程j天的收益A[i][j],请你求出复习M天的最大收益, 考虑每一门课程可以复习0 1 2 -- M天,且他们是互斥的,那么就可以用分组背包解决这个问题,代码如下:#include #include #include us... 阅读全文
posted @ 2015-12-02 15:30 xing-xing 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 这道题的意思是一个人有一定数额的银币若干个, 想用这些硬币买一些东西, 售货员会找零,现在问你如何用最少的银币买到东西。。。 先用完全背包预处理找零j块钱的时候最少需要多少硬币,然后用多重背包处理付款j块钱的时候最少需要多少银币, 最后将两个加起来就行。注意数组开大点。代码如下: #inclu... 阅读全文
posted @ 2015-12-02 13:36 xing-xing 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 珍惜现在, 感恩生活,记得汶川大地震那年我还在6年级, 当时以为是后面的同学在摇我的凳子, 几分钟后班里机智的同学才说地震了,大家赶快往楼下跑。这道题才让我真正理解了背包九讲前面讲解的东西, 题意就不赘述了。很传统的多重背包的题,多重背包代码如下:#include #include #inclu... 阅读全文
posted @ 2015-12-01 20:12 xing-xing 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 定义 f[j]为重量为j的时候的最小钱数,然后更新即可。。代码如下: #include #include #include using namespace std;const int maxn = 10000 + 100;const int inf = 0x3f3f3f3f;int E, F,... 阅读全文
posted @ 2015-12-01 19:14 xing-xing 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 这道题的意思是给你1 5 10 25 的硬币c1 c2 c3 c4枚, 求出一个方案使硬币个数最多, 且恰好是p..给完全背包加几个状态即可。。代码如下: WA点: 可能看完动漫时间有点晚记得把题目终止输入条件判错了 2:used[j-w[i]]#include #include using ... 阅读全文
posted @ 2015-12-01 00:22 xing-xing 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 这道题的意思是有5中硬币1 5 10 25 50问有几种方法可以组成n。。dp[i][j]为前i中组成j的方案数则 dp[i][j] = dp[i-1][j] + dp[i][j-v[i]]..可以使用滚动数组优化。。代码如下:#include #include #include using n... 阅读全文
posted @ 2015-11-30 17:36 xing-xing 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 这道题算是很经典的状态压缩01背包了, 题意是有一个人要用两辆小汽车搬家, 每辆小汽车都有一个最大载重量, 现在有一些要搬的家具, 告诉你这些家具的重量, 问最少几次能将这些家具搬完(每次两辆汽车必须出动, 即使有一辆车什么都没有装)? 物品个数不超过10,根据经验一般有10存在的话都要带点暴力... 阅读全文
posted @ 2015-11-30 16:59 xing-xing 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 这道题的意思是给你一串数字, 每一个数字可以通过一个公式转换成其他的数, 你可以转换一个连续区间的数, 让这一串数字的和最大。。只需要做一个小小的转换就可以转化问题为最大连续和。 具体见代码, 不过需要注意最大连续和的递推式是d[i] = max(c[i], d[i-1]+c[i])不要弄错了... 阅读全文
posted @ 2015-11-28 23:17 xing-xing 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 做着道题是只推出了递推式,刚开始是1 接下来是1 1 2 =》 1 1 2 1 2 2 3我们可以推出式子d[(2^i)-1] = 2*d[2^(i-1)-1] + 2^(i-1)这个递推式, d[2^i-1]表示 数列前2^i-1项的和,求出这些以后我们可以给每一个d[2^i-1]+1就得到了... 阅读全文
posted @ 2015-11-28 23:10 xing-xing 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 这个题目是求解第k小01背包, 我们只需要再多加一维表示容量为j时的价值即可。。代码里面用了归并排序的思想来求解f[j][k], 代码如下:#include #include #include using namespace std;int f[1000+10][35];int A[35],... 阅读全文
posted @ 2015-11-28 12:24 xing-xing 阅读(165) 评论(0) 推荐(0) 编辑