hdu 1881(简单01背包)
毕业bg
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
例如有4场bg:
第1场快乐度为5,持续1小时,发起人必须在1小时后离开;
第2场快乐度为10,持续2小时,发起人必须在3小时后离开;
第3场快乐度为6,持续1小时,发起人必须在2小时后离开;
第4场快乐度为3,持续1小时,发起人必须在1小时后离开。
则获得最大快乐度的安排应该是:先开始第3场,获得快乐度6,在第1小时结束,发起人也来得及离开;再开始第2场,获得快乐度10,在第3小时结束,发起人正好来得及离开。此时已经无法再安排其他的bg,因为发起人都已经离开了学校。因此获得的最大快乐度为16。
注意bg必须在发起人离开前结束,你不可以中途离开一场bg,也不可以中途加入一场bg。
又因为你的人缘太好,可能有多达30个团体bg你,所以你需要写个程序来解决这个时间安排的问题。
h l t
其中 h 是快乐度,l是持续时间(小时),t是发起人离校时间。数据保证l不大于t,因为若发起人必须在t小时后离开,bg必须在主人离开前结束。
当N为负数时输入结束。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;const int maxn = 33;
struct node
{int h,l,t;
}bg[maxn];
int n,dp[1000];int cmp(node a, node b)
{if(a.t != b.t)return a.t < b.t;return a.l < b.l;
}int main()
{ while(scanf("%d",&n) && n >=0){int maxtime;for(int i = 1; i <= n; i++){scanf("%d%d%d",&bg[i].h,&bg[i].l,&bg[i].t);maxtime = max(maxtime,bg[i].t);}sort(bg+1,bg+1+n,cmp);memset(dp,0,sizeof(dp));for(int i = 1; i <= n; i++)for(int j = bg[i].t; j >= bg[i].l; j--){dp[j] = max(dp[j],dp[j-bg[i].l]+bg[i].h);}int ans = 0;for(int i = 1; i <= maxtime; i++)ans = max(ans,dp[i]);printf("%d\n",ans);}return 0;
}
hdu 1881(简单01背包)相关推荐
- HDU2602Bone Collector 简单0-1背包
HDU2602Bone Collector 简单0-1背包 Bone Collector Time Limit: 2000/1000 MS (Java/Others) Memory Limit: ...
- hdu 3449 Consumer 01背包
http://acm.hdu.edu.cn/showproblem.php?pid=3449 这个题AC的有点稀里糊涂(是1A过的),采用的01背包的方法: 思路:定义了两个数组用来存储最终结果和但购 ...
- HDU 2639(01背包求第K大值)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2639 Bone Collector II Time Limit: 5000/2000 MS (Jav ...
- 习题整理(简单01背包 可用查并集2022/4/24)
习题整理 提示:之前的习题在习题集合 文章目录 习题整理 一.诱人的宝藏 1.思路 2.代码 二.晚宴 1.思路 2.代码 三.医师之路 1.思路 2.扩展知识 3.代码 总结 提示:以下是本篇文章正 ...
- HDU - 3466(01背包理解)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3466 题意:给你一些钱 m ,然后在这个国家买东西, 共有 n 件物品,每件物品价格P价值V还有一个很 ...
- Jam's balance HDU - 5616 (01背包基础题)
Jim has a balance and N weights. (1≤N≤20) The balance can only tell whether things on different side ...
- 简单01背包 POJ3211 Washing Clothes 多种衣服分别dp
题目连接:http://poj.org/problem?id=3211 大意就是 一个人洗衣服,然后找他媳妇帮忙.有n种颜色的衣服,和m件衣服,每件衣服的颜色和洗出来的时间都会给出来.再洗的时候两个人 ...
- hdu 5501(贪心+01背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5501 现在有A1,B1,C1和A2,B2,C2这两道题,如果先做1再做2的得分是A1-B1*C1+A2 ...
- hrbust 1558 小背包(简单01背包)水坑
小背包 Time Limit: 1000 MS Memory Limit: 10240 K Total Submit: 1220(237 users) Total Accepted: 307(208 ...
最新文章
- 一个PHP的HTTP POST方法
- python在线-python+在线
- 使用 SQL Server Management Studio (SSMS) 连接 SQL Server实例
- Inside the C++ Object Model | Outline
- mysql创建表时表明加单引号_python在MySQL表名周围插入单引号(‘)
- oracle数据库基础测试,ORACLE数据库基础测试题oracle数据库复习题.docx
- 给linux默认mysql设置root密码
- 使用kubeadm搭建k8s高可用集群
- 三个字的字,值得收藏
- 运维工程师岗位职责、职业路线和常用工具
- 解决 Windows10系统任务栏图标消失
- 2.机器学习基础(一)
- 使用Gephi绘制动态网络的三种方法
- P1462 通往奥格瑞玛的道路(二分+dijkstra)
- 时间复杂度的表示方式
- 多媒体计算机系统包括多媒体计算机软件,多媒体计算机系统包括什么
- vert.x java post请求无法接收到post请求body中的参数
- 去你X的上网行为监控系统
- 2023郑州大学电子信息(控制工程)专硕考研成功经验分享
- static,this,private关键字