
dp
幽静
这个作者很懒,什么都没留下…
展开
-
hdu 2191
多重背包问题,一次ac. #include using namespace std; int f[101][201]; int n[210]; int w[101]; int p[210]; int main() { int C; cin>>C; while(C--) { int m,v; cin>>v>>m; //v表示经费,m表示种类原创 2013-07-16 23:41:04 · 359 阅读 · 0 评论 -
hdu 2602 (01背包)
01背包; 写个留做纪念~~ #include using namespace std; struct pack { int c,w; }; pack p[1000]; int f[1001]; int v; void zpack(pack p) { for(int i=v;i>=p.c;i--) f[i]=max(f[i],f[i-p.c]+p.w); } int m原创 2013-07-17 22:03:54 · 475 阅读 · 0 评论 -
hdu 1114 (完全背包)
看到完全背包写了一下。 一遍wa,仔细看了看ac的代码,原来数值设定小了。 完全背包的小变形,用来求填充存钱罐最小的费用,把max给改成min,还有要小心一下,cpack里面的写法。 #include #define size 1000000000 using namespace std; struct pack { int w,c; }; p原创 2013-07-18 12:12:57 · 541 阅读 · 0 评论 -
hdu 1203 (01背包)
01背包的小变形。 这里值得注意的是: 01背包和完全背包在 求消费v,所得价值w最小情况的变形。 01背包 :f[0...v] = max; 然而 完全背包: f[0....v] = max ; f[0]=0; 这个原因应该是完全背包物品无限的吧~ #include #include using namespace std; struct pack {原创 2013-07-18 16:00:31 · 458 阅读 · 0 评论