Vijos P1104采药
2015-07-17 21:26
323 查看
入门的01背包题目,一维滚动数组。
#include<iostream> using namespace std; const int MAXN=105; struct Node { int f; int t; }; Node a[MAXN]; int mymax(int a,int b) { if(a>b) { return a; } else { return b; } } int main() { int dp[1005]={0}; int M,T; cin>>T>>M; for(int i=0;i<M;i++) { cin>>a[i].t>>a[i].f; } for(int i=0;i<M;i++) { for(int j=T;j>=a[i].t;j--) { dp[j]=mymax(dp[j],dp[j-a[i].t]+a[i].f); } } cout<<dp[T]<<endl; return 0; }
相关文章推荐
- 结构体定义 typedef struct 用法详解和用法小结
- UVa-230 - Borrowers
- 安装go语言环境
- Windows 更新导致 VirtualBox 4.3.20 启动失败
- Maven-Mac-Java
- C++容器
- css与js语法对照
- 使用curl 命令上传下载FTP
- hibernate 中 get 和 load 区别
- CodeForces 546B
- Node实践之二
- 【记录】使用eclipse遇到的问题一:eclipse中按空格/Tab键错误触发代码补全
- 杭电 hdu 1150 Machine Schedule (二分匹配)
- GDAL获取影像信息与ENVI头文件信息
- freemarker常见语法大全
- POJ1350
- CeontOS7安装ansible
- 【R文本挖掘】中文分词Rwordseg
- 嵌入式linux之按键驱动,异步通知
- swift QQ聊天界面 cell 的计算