[TJOI2013] 拯救小矮人- 贪心,dp
2024-09-03 06:25:27
结论:矮的人比高的人先走一定不会使得答案变劣
于是我们排序后,像 0-1 背包那样依次考虑每个人走不走
#include <bits/stdc++.h>
using namespace std;
struct obj {
int a,b;
bool operator < (const obj &x) {
return a+b < x.a+x.b;
}
} a[10005];
int n,h,ans;
int f[2005][2005];
int main() {
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i].a>>a[i].b;
sort(a+1,a+n+1);
cin>>h;
memset(f,0xff,sizeof f);
f[0][0]=0;
for(int i=1;i<=n;i++) f[0][0]+=a[i].a;
for(int i=1;i<=n;i++) {
for(int j=0;j<=n;j++) {
f[i][j]=f[i-1][j];
if(j && f[i-1][j-1]+a[i].b >= h) f[i][j]=max(f[i][j],f[i-1][j-1]-a[i].a);
if(f[i][j]>=0 && j>ans) ans=j;
}
}
cout<<ans<<endl;
}
最新文章
- 对比DOM和jQuery完善度
- iOS - OC NSNull		空值
- 优化C++程序编译效率的一些方法
- MySQL 建表字段长度的限制
- 我用的一些Node.js开发工具、开发包、框架等总结
- Nico Game Studio 2.设置页面读写 纹理载入与选择
- Oracle EBS 入门
- 修改UISearchBar背景色
- /usr/bin/env: node: no such file or directory
- docker:(4)利用WebHook实现持续集成
- 模板层(template)
- 任务驱动 搭建SSM开发环境
- centos7创建新用户
- Idea快捷操作
- QT中PRO文件写法的详细介绍
- ReactiveCocoa(II)
- Spring RestController 请求参数详解
- git 克隆指定分支
- UI Recorder 安装教程(二)
- HDU 2767 Proving Equivalences (Tarjan)