POJ 2184(01背包+滚动数组)
来源:互联网 发布:网络推广 推荐书籍 编辑:程序博客网 时间:2024/06/06 01:54
01背包 模板题
Program dd;const maxn=1000; maxv=100000; minv=-100000; NULL=-2139062144;var n,i,j,ans,p,np:longint; ts,tf:array[1..maxn] of longint; f:array[0..1,minv..maxv] of longint;function max(a,b:longint):longint;begin if a<b then exit(b) else exit(a);end;begin read(n); for i:=1 to n do read(ts[i],tf[i]); fillchar(f,sizeof(f),128); f[0,0]:=0; for i:=1 to n do begin p:=i mod 2; fillchar(f[p],sizeof(f[p]),128); np:=(p+1) mod 2; for j:=maxv downto minv do begin f[p,j]:=f[np,j]; if (minv<=j-ts[i]) and (j-ts[i]<=maxv) then if (f[np,j-ts[i]]<>NULL) then f[p,j]:=max(f[p,j],f[np,j-ts[i]]+tf[i]); end; end; ans:=0; for i:=0 to maxv do if (f[n mod 2,i]>=0) and (ans<f[n mod 2,i]+i) then ans:=f[n mod 2,i]+i; writeln(ans);end.
- POJ 2184(01背包+滚动数组)
- POJ - 3624 Charm Bracelet (滚动数组/01背包)
- POJ 3624- Charm Bracelet(01背包 滚动数组)
- 01背包(滚动数组)
- POJ 1472 Coins (多重背包+滚动数组)
- 采药-01背包+滚动数组
- dp中滚动数组的应用:01背包、POJ 1159 Palindrome、多段图路径问题
- hdu 1203 01背包 滚动数组
- HDU 2602 Bone Collector(01二维背包&一维背包&滚动数组优化二维背包的原理 )
- 01背包(就地滚动)
- Poj 3624 Charm Bracelet(01背包+一维数组)
- POJ 2184 01背包
- 知识点:01背包(多种姿势:二维实现+一维实现+滚动数组实现+背包装满+输出最优方案)
- poj-3661-另一种做法(滚动数组)
- poj - 1036 - Gangsters(滚动数组dp)
- POJ-2823(ST算法 + 滚动数组)
- POJ-2019(二维RMQ + 滚动数组)
- POJ-1018(DP+滚动数组)
- 个人档案管理
- 常量指针与指针常量的区别(好记)
- 第二章 变量和基本类型(续2) 引用 & typedef
- 第3章练习题
- USB Eject
- POJ 2184(01背包+滚动数组)
- :after伪类+content内容生成经典应用举例
- 若爱 就如桃花般地去爱
- Oracle初学者入门指南-什么是Metalink -MOS ?
- 敏捷交流-序言
- 第一篇博客
- 人事代理个人服务及相关案例
- 敏捷教练-介绍
- 【phpcms-v9】无子栏目的栏目如何既能显示频道页又能显示列表页