[BZOJ 1899] ZJOI 2004 Lunch 午餐 · 动态规划
2015-08-12 08:10
316 查看
按吃饭时间降序排序,然后动归,状态想到了就很简单了。
#include <stdio.h> #include <algorithm> #include <string.h> #include <iostream> using namespace std; const int N=205; struct arr { int x,y; }a ; int n,f [N*N],s ; bool cmp(const arr A,const arr B){ return A.y>B.y; } int main(){ cin>>n; for (int i=1;i<=n;i++) cin>>a[i].x>>a[i].y; sort(a+1,a+n+1,cmp); memset(s,0,sizeof s); for (int i=1;i<=n;i++) s[i]=s[i-1]+a[i].x; memset(f,10,sizeof f); f[0][0]=0; for (int i=1;i<=n;i++) for (int j=0;j<=s[i-1];j++){ f[i][j]=min(f[i][j],max(f[i-1][j],s[i-1]-j+a[i].x+a[i].y)); f[i][j+a[i].x]=min(f[i][j+a[i].x],max(f[i-1][j],j+a[i].x+a[i].y)); } int ans=0x7fffff; for (int i=0;i<=s ;i++) ans=min(ans,f [i]); cout<<ans<<endl; return 0; }
相关文章推荐
- 零基础学python-2.10 条件判断 if语句
- 零基础学python-2.10 条件判断 if语句
- ”军火库“地址
- 集合1--List集合及泛型
- Codeforces 442B Andrey and Problem(贪婪)
- 一般情况的三维旋转矩阵
- 杭电ACM2044java做法
- jquery动态添加、删除class样式
- Problem 2020 组合(FOJ)
- 设计模式 它 中间人
- vim note(3)
- 黑马程序员——C语言笔记之数组
- Sqlite学习笔记(一)&&编译安装
- 34.tableView的编辑
- 一小时内破解16位强密码
- 修改Tomcat内存大小
- 学英语从背单词开始,但背单词要适可而止
- 零基础学python-2.9 代码块与缩进
- 零基础学python-2.8 字典
- 零基础学python-2.8 字典