[POI][Ruvtex 31]潜水员问题(动态规划)
2009-08-17 17:21
253 查看
【题目描述】:
http://www.ruvtex.cn/cogs/problem/pdetail.php?pid=31
P.s.个人比较喜欢Byvoid神牛的这个Oj。字很大,而且清楚。使用文件,界面简洁~~
【题目分析】:
最开始果然被唬住了。
实际上就是有两个约束条件的背包。
可能情况有一点不一样的就是,他判断的不是一个点,而是大于一个点的一个范围。
跟背包一样,就是更新的时候加一句话就行。
最开始看了还以为是np呢~
就是这样的一个条件泄露了天机:
在文件的第一行中有两个整数 t 和 a ,分别描述完成任务所需的氧气和氮气量。( 1 ≤ t ≤ 21 , 1 ≤ a ≤ 79 )。第二行中有一个整数 n ,表示气筒的个数。( 1 ≤ n ≤ 1000 )。以后 n 行中,每行有三个整数 t i , a i , w i , t i 表示第 i 个气筒所能容纳的氧气量, a i 表示第 i 个气筒所能容纳的氮气量, w i 表示气筒 i 的质量。( 1 ≤ a i ≤ 21 , 1 ≤ t i ≤ 79 , 1 ≤ w i ≤ 800 )。
【代码】:
http://www.ruvtex.cn/cogs/problem/pdetail.php?pid=31
P.s.个人比较喜欢Byvoid神牛的这个Oj。字很大,而且清楚。使用文件,界面简洁~~
【题目分析】:
最开始果然被唬住了。
实际上就是有两个约束条件的背包。
可能情况有一点不一样的就是,他判断的不是一个点,而是大于一个点的一个范围。
跟背包一样,就是更新的时候加一句话就行。
最开始看了还以为是np呢~
就是这样的一个条件泄露了天机:
在文件的第一行中有两个整数 t 和 a ,分别描述完成任务所需的氧气和氮气量。( 1 ≤ t ≤ 21 , 1 ≤ a ≤ 79 )。第二行中有一个整数 n ,表示气筒的个数。( 1 ≤ n ≤ 1000 )。以后 n 行中,每行有三个整数 t i , a i , w i , t i 表示第 i 个气筒所能容纳的氧气量, a i 表示第 i 个气筒所能容纳的氮气量, w i 表示气筒 i 的质量。( 1 ≤ a i ≤ 21 , 1 ≤ t i ≤ 79 , 1 ≤ w i ≤ 800 )。
【代码】:
program ple; const inf=1000000; var ox,da,mg:longint; f:array[0..100,0..100] of longint; oxy,dan,n,i,j,k,ans,a:longint; function min(x,y:longint):longint; begin if x<y then exit(x) else exit(y); end; begin assign(input,'ple.in'); assign(output,'ple.out'); reset(input); rewrite(output); readln(oxy,dan); readln(n); filldword(f,sizeof(f) div 4,inf); f[0,0]:=0; ans:=inf; for k:=1 to n do begin readln(ox,da,mg); for i:=100 downto ox do for j:=100 downto da do begin f[i,j]:=min(f[i,j],f[i-ox,j-da]+mg); if (i>=oxy) and (j>=dan) and (f[i,j]<ans) then ans:=f[i,j]; end; end; writeln(ans); close(input); close(output); end.
相关文章推荐
- 动态规划之硬币表示问题
- 【集训笔记】动态规划背包问题【HDOJ1421【HDOJ1058【HDOJ2546
- 动态规划-背包问题降维以及衍生的硬币问题
- POJ - 3624 (01背包问题)(动态规划-滚动数组)
- java excel解析:poi与jxl的区别(excel版本问题:xls,xlsx)
- POI 导入2007格式的Excel报错问题:java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlOptionsz
- Java矩阵连乘问题(动态规划)算法实例分析
- 动态规划--零钱问题
- 动态规划(3)格子取数问题
- uva 116 动态规划 多阶段决策问题 路径记录 lrj-P270
- 动态规划问题
- HDU2602 Bone Collector 01背包问题 动态规划
- 动态规划(背包问题)
- 动态规划(2)01背包问题
- JAVA代码—算法基础:数塔问题(动态规划)
- 动态规划 简单的分割问题的解决方案钢棒
- 动态规划求解阶乘问题
- 最长上升子序列问题-动态规划(DP)
- 动态规划 背包问题
- 动态规划-3.1.3矩阵连乘问题之备忘录方法(自顶向下)