博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 2602
阅读量:6230 次
发布时间:2019-06-21

本文共 1398 字,大约阅读时间需要 4 分钟。

思路:简单的动态规划,0-1背包问题

#include
#include
int a[1001][1001],va[1001],vo[1001];int max(int x, int y){ return x>y?x:y;}int main(){ int T,i,j,n,v; scanf("%d",&T); while(T--) { memset(a,0,sizeof(a)); scanf("%d%d",&n,&v); for(i = 0;i < n;i ++) scanf("%d",&va[i]); for(i = 0;i < n;i ++) scanf("%d",&vo[i]); for(i = 0;i <= v;i ++) { for(j = 0;j < n;j ++) { if(i>=vo[j]) a[i][j] = max(a[i][j-1],a[i-vo[j]][j-1]+va[j]); else a[i][j] = a[i][j-1]; } } printf("%d\n",a[v][n-1]); }}
#include
#include
int a[1001],va[1001],vo[1001];int max(int x, int y){ return x>y?x:y;}int main(){ int T,i,j,n,v; scanf("%d",&T); while(T--) { memset(a,0,sizeof(a)); scanf("%d%d",&n,&v); for(i = 1;i <= n;i ++) scanf("%d",&va[i]); for(i = 1;i <= n;i ++) scanf("%d",&vo[i]); for(i = 1;i <= n;i ++) { for(j = v;j >= 0;j --) { if(j>=vo[i]) a[j] = max(a[j],a[j-vo[i]]+va[i]); else a[j] = a[j]; } } printf("%d\n",a[v]); }}

转载于:https://www.cnblogs.com/wangzhili/p/3950393.html

你可能感兴趣的文章
Oracle中shrink space命令详解
查看>>
验证码 生成变形的文字
查看>>
用cflow工具生成代码函数调用关系【转】
查看>>
ASP.NET MVC5+EF6+EasyUI 后台管理系统(75)-微信公众平台开发-用户管理
查看>>
android用户界面之菜单(Menu)教程实例汇总
查看>>
单链表
查看>>
linux下的僵尸进程处理SIGCHLD信号【转】
查看>>
c#中volatile关键字的作用
查看>>
Hadoop概念学习系列之搭建(windows)Eclipse/MyEclipse远程操作(Linux上)hadoop2.2.0/hadoop2.6.0 出错集(三十五)...
查看>>
淘米水的10大功效
查看>>
android 中如何分析内存泄漏
查看>>
关于简明Vim练级攻略
查看>>
遇到不可重现问题怎么办
查看>>
ASP.NET MVC5+EF6+EasyUI 后台管理系统(57)-插件---ueditor使用
查看>>
swift-数组array
查看>>
jQuery插件开发学习笔记
查看>>
现代软件工程 第十三章 【软件测试】 练习与讨论
查看>>
SharePoint Framework 开发工具和库
查看>>
团队项目建议 - 英语学习 App
查看>>
30个非常流行的提示信息插件(jQuery Tooltip Plugin)
查看>>