hdu 2159 fate
来源:互联网 发布:手机笑声软件 编辑:程序博客网 时间:2024/05/14 22:52
二维费用背包,第一个消费是忍耐值,第二个消费是杀怪数目。dp[i][j]表示杀了i个怪时剩余j的忍耐度。这个题目整个是二维背包套用完全背包的类型。比较有代表性。注释在代码里面
#include<iostream>using namespace std;int dp[105][105];int v[105],cost[105];int maxi(int a,int b){if(a>b)return a;else return b;}int main(){int n,m,k,s,i,j,p,flag,ok;while(cin>>n>>m>>k>>s){for(i=1;i<=k;i++)cin>>v[i]>>cost[i];memset(dp,0,sizeof(dp));flag=0;for(i=1;i<=k;i++)//怪物的种类for(j=1;j<=s;j++)//刷怪数目,模拟完全背包for(p=0;p<=m-cost[i];p++)//剩余的忍耐度。{dp[j][p]=maxi(dp[j][p],dp[j-1][p+cost[i]]+v[i]);}ok=-1;//遍历一遍查找忍耐度最大的值。for(i=m;i>=0;i--){for(j=0;j<=s;j++)if(dp[j][i]>=n){flag=1;if(i>ok)ok=i;}}if(flag==0)cout<<"-1"<<endl;else cout<<ok<<endl;}return 0;}
- hdu 2159 FATE
- hdu 2159 FATE
- hdu 2159 FATE
- HDU 2159 - FATE
- hdu 2159 FATE
- HDU 2159 FATE
- HDU 2159 FATE
- HDU 2159 FATE
- HDU 2159 FATE
- hdu 2159 FATE
- hdu 2159 FATE
- Hdu 2159 FATE
- HDU 2159 FATE
- hdu 2159 FATE
- hdu 2159 FATE
- hdu 2159 fate
- hdu 2159 FATE (dp)
- HDU-2159-FATE
- HDU 4185 Oil Skimming ( 二分匹配建图 )
- Java 判断文件的字符集编码
- SQL优化总结
- 你的大四,推荐做的几件事 [英语专业女生的自白]
- 卡特兰数|斯特灵数
- hdu 2159 fate
- 高级Bash脚本编程指南(9):数字常量
- 获得Unix/Linux系统中的IP、MAC地址等信息
- 数组分段和最大值最小问题
- UITableView的AccessoryButton自定义视图与触发被点击的事件
- linux小白Ubuntu13.04安装完后的一系列活动
- poj1050 To the Max
- 类似美丽说,类似百度旅游,类似sae导航菜单随动效果
- UIView与CALayer的区别,很详细