博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【t060】可怜的波特
阅读量:5316 次
发布时间:2019-06-14

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

Time Limit: 1 second

Memory Limit: 128 MB

【问题描述】

哈里波特在姨夫家遭受非人待遇,他被迫做很多事。有一次,姨夫有给了他一大堆家务。哈里知道每件做完家务的时间,重要程度,

还知道总时间与任务总数,他必须尽量合理的安排使他在规定时间内完成的重要程度最大。

【输入格式】

第一行,t,m(t,m<=10000)表示哈里波特的时间和姨夫要他做的家务数。

接下来m行,每行2个值表示该任务所须的时间与重要度(均小于5000)。 


【输出格式】

一行di表示完成的任务重要数总和。

Sample Input

70 371 10069 11 2

Sample Output

3
【题解】
还能有更裸的0/1背包吗?逆序枚举时间。最后输出f[m]。做得我要吐血了。
【代码】
#include 
int m,n,w[10010],c[10010],f[10010];int main(){ //freopen("F:\\rush.txt","r",stdin); scanf("%d%d",&m,&n); //输入时间上限和物品个数 for (int i = 1;i <= n;i++) //输入n个物品的信息 scanf("%d%d",&w[i],&c[i]); for (int i = 1;i <= n;i++) //进行0/1背包操作 for (int j = m;j >= w[i];j--) if(f[j] < f[j-w[i]] + c[i]) f[j] = f[j-w[i]] + c[i]; printf("%d",f[m]); //最后输出所用时间不超过m的最大价值度 return 0; }

转载于:https://www.cnblogs.com/AWCXV/p/7632371.html

你可能感兴趣的文章
【转】OO无双的blocking/non-blocking执行时刻
查看>>
ul li剧中对齐
查看>>
关于 linux 的 limit 的设置
查看>>
HDU(4528),BFS,2013腾讯编程马拉松初赛第五场(3月25日)
查看>>
vim中文帮助教程
查看>>
MySQL基础3
查看>>
云计算数据与信息安全防护
查看>>
全局设置导航栏
查看>>
RxJS & Angular
查看>>
面向对象(多异常的声明与处理)
查看>>
MTK笔记
查看>>
ERROR: duplicate key value violates unique constraint "xxx"
查看>>
激活office 365 的启动文件
查看>>
无法根据中文查找
查看>>
[简讯]phpMyAdmin项目已迁移至GitHub
查看>>
转载 python多重继承C3算法
查看>>
【题解】 bzoj1597: [Usaco2008 Mar]土地购买 (动态规划+斜率优化)
查看>>
css文本溢出显示省略号
查看>>
git安装和简单配置
查看>>
面向对象:反射,双下方法
查看>>