01背包问题动态规划应用

acm1881毕业bg

将必须离开的时间限制看作背包容量,先将他们由小到大排序,然后在排完序的数组中对每个实例都从它的时间限制开始(背包容量)到它的延长时间进行遍历;

 #include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
struct BG
{
int h,t,l;
friend bool operator<(BG a,BG b)
{
return a.l<b.l;
}
};
BG *bg;
int main()
{
int n,m;
int value[];
while(cin>>n&&n>=)
{
m=;
if(n==)
{
cout<<<<endl;
continue;
}
bg=new BG[n];
memset(value,,sizeof(value));
for(int i=;i<n;i++)
{
cin>>bg[i].h>>bg[i].t>>bg[i].l;
m=(bg[i].l>m)?bg[i].l:m;
}
sort(bg,bg+n);
for(int i=;i<n;i++)
{
for(int j=bg[i].l;j>=bg[i].t;j--)
{
value[j]=max(value[j],value[j-bg[i].t]+bg[i].h);
}
}
int ans=;
for(int i=;i<=m;i++)
{
if(value[i]>ans)ans=value[i];
}
cout<<ans<<endl;
}
return ;
}

最新文章

  1. Java程序设计之链表结构
  2. innerHTML 与 innerText 的区别
  3. Memcache所有方法及参数详解
  4. 【WPF】如何把一个枚举属性绑定到多个RadioButton
  5. Oracle 物化视图 说明
  6. .net中如何使用cookie
  7. Windows 服务入门指南
  8. iOS产品开发流程
  9. C#用正则表达式 获取标签的属性或值
  10. jquery ashx
  11. SqlSugar框架T4模板的使用
  12. SQL注入浅水攻防
  13. c++ new 的相关
  14. httpclient绕过证书验证进行HTTPS请求
  15. python+selenium的web自动化测试之一(手工执行)
  16. vue实例的生命周期
  17. BJWC2018上学路线
  18. MySQL高可用方案-PXC环境部署记录
  19. 导入数据库备份报错1067 – Invalid default value for ‘create_time’
  20. 使用HttpClient以文件流的方式上传文件(非multipartFormData方式)

热门文章

  1. Python 学习笔记之——用 sklearn 对数据进行预处理
  2. Python3 小工具-ARP扫描
  3. sqoop-1.4.6安装与使用
  4. Check the string
  5. Thunder团队第六周 - Scrum会议6
  6. c# 删除word文档中某一页
  7. SQL Server 复制:事务发布(读写分离)
  8. ACM 第六天
  9. js图片转换为base64
  10. vi/sed等遵循的搜索正则语法