背包问题
文章平均质量分 62
yeqm_
作为解题记录
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
poj 3260混合背包
这道题题目应该是写反了,货币的值应该在 1~10000,dp的时候一直wa也可能是多组数据,不过题目没有说明,将J改大了,再加个外循环检测EOF以后才AC不算很混的混合背包,因为完全背包和多重背包分离了背包问题暂告一段落#include #include #include #include #include #include#include #incl原创 2015-10-17 20:37:14 · 444 阅读 · 0 评论 -
poj 2063 完全背包
可以看做分组背包,每i组为买i基金钱 c[i]*1,c[i]*2.........c[i]*k,然后套dp模板,dp[i][j],第i组已购j元基金另外不需要每年都dp一遍,直接dp到最高金额从评论区别人代码学习了就地滚动的方法,每次用dp[i-1][j-k]更新d[i][j]时 j>=j-k,就可以把更新完一遍的dp数组看作上一轮的dp[i-1],按j从高到低更新,高位j的更新不影响低原创 2015-10-15 12:12:08 · 402 阅读 · 0 评论 -
poj 3046 分组背包
分组背包问题在于如何将问题看作分组。一旦弄清了 分组 和 背包 就可以直接套模板第一个循环 分组循环第二个循环 背包循环第三个循环 分组内循环#include #include #include #include #include #include#include using namespace std; #define lch(i原创 2015-10-14 21:46:41 · 513 阅读 · 0 评论 -
poj 1837分组背包
参考了别人的思路 点击打开链接N种距离钩子,m个重量,每个重量放不同的钩子就是一个分组分组背包:#include #include #include #include #include #include#include using namespace std; #define lch(i) ((i)<<1) #define rch(i)原创 2015-10-13 19:57:34 · 466 阅读 · 0 评论 -
poj 3624
经典的01背包,做完hihocoder那道题后开始啃背包。。。#include #include #include #include #include #include#include using namespace std; #define lch(i) ((i)<<1) #define rch(i) ((i)<<1|1) #define sqr(i原创 2015-10-12 16:19:19 · 346 阅读 · 0 评论 -
poj 1976 01背包
一开始当成分组背包做,POJ也果断给了个TLE到底还是对背包理解不够深入只要将小火车头载客量当成一个背包就行了#include #include #include #include #include #include#include using namespace std; #define lch(i) ((i)<<1) #define rch(i原创 2015-10-13 12:36:28 · 319 阅读 · 0 评论 -
hihocoder #1091
虽然一看就是dp 然并卵还是看了提示,学习了背包的几种变化记录一下#include #include #include #include #include #include#include using namespace std; #define lch(i) ((i)<<1) #define rch(i) ((i)<<1|1) #define sqr原创 2015-10-11 21:58:06 · 387 阅读 · 0 评论 -
poj 2151 01背包
在别人列出的题目里面这道题是被归类到hash里面的,然而没有想到如何转化成hash搜索这道题就是求出 Π每队至少解出一道题= Π(1-每队解出0道题的概率)=P1, Π每队解出不多于n道题的概率 =P2注意的是P2 不包括解出0道的概率#include #include#include #include #include#include using name原创 2015-10-22 21:40:50 · 239 阅读 · 0 评论 -
poj 1276 多重背包+二进制解法
典型多重背包 #include #include #include #include #include #include#include #includeusing namespace std; #define lch(i) ((i)<<1) #define rch(i) ((i)<<1|1) #define sqr(i) ((i)*(i)) #原创 2015-10-16 14:31:12 · 274 阅读 · 0 评论 -
poj2392 1742多重背包
多重背包就是每组物品只能取有限多个所以dp是要根据情况加一个if判断首先按最大高度进行升序排序另外加一个num 记录该数值已经取了多少个当前类型的block#include #include #include #include #include #include#include #includeusing namespace std; #defi原创 2015-10-16 13:12:46 · 257 阅读 · 0 评论 -
poj1384 完全背包
比较裸的完全背包都可以套模板,数据量小直接ACTLE了就改就地滚动+优化,此题就属于数据量相对较大#include #include #include #include #include #include#include #includeusing namespace std; #define lch(i) ((i)<<1) #define原创 2015-10-15 20:24:47 · 464 阅读 · 0 评论
分享