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