这个题如果直接dp的话要考虑

先从题目类型入手,这种规划性问题 应该是个dp

1开始的时间、1结束的时间、2开始的时间、2结束的时间

这是200^6级别的状态数,且没有任何状态优化的余地

所以就要考虑使用特殊方法结合性质优化

然后手玩,发现打饭时间长的一定是在前面

所以可以排个序,然后利用 前面的人 非1即2的原理优化

所以1开始的时间设进状态,这样2开始的时间也就可以补出来,然后就可以更新了

码:

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
struct la
{int x,y;
}a[233];
int f[2][50000],n,i,m,j,b[233],o,ans=1099999999;
bool cmp(la a,la b)
{
return a.y>b.y;
}
int main()
{scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d%d",&a[i].x,&a[i].y);}sort(a+1,a+1+n,cmp);
for(i=1;i<=n;i++)b[i]=b[i-1]+a[i].x;
for(i=0;i<=40000;i++)f[o^1][i]=f[o][i]=999999;
f[o^1][0]=0;
for(i=1;i<=n;i++,o^=1)
{for(j=0;j<=40000;j++){f[o][j+a[i].x]=min(f[o][j+a[i].x],max(f[o^1][j],j+a[i].x+a[i].y));f[o][j]=min(max(f[o^1][j],b[i]-j+a[i].y),f[o][j]);   } for(j=0;j<=40000;j++)f[o^1][j]=999999;
}
for(i=1;i<=40000;i++)
ans=min(ans,f[o^1][i]);
printf("%d",ans);
}

[ZJOI2005]午餐 贪心+dp相关推荐

  1. 【BZOJ1899】[Zjoi2004]Lunch 午餐 贪心+DP

    [BZOJ1899][Zjoi2004]Lunch 午餐 Description 上午的训练结束了,THU ACM小组集体去吃午餐,他们一行N人来到了著名的十食堂.这里有两个打饭的窗口,每个窗口同一时 ...

  2. BZOJ1899 [Zjoi2004]Lunch 午餐 贪心+DP

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=1899 题解 如果只有一个窗口,那么可以这样考虑:因为最后一个人打完饭的时间是固定的,那么不如就 ...

  3. luogu2577/bzoj1899 午餐 (贪心+dp)

    首先,应该尽量让吃饭慢的排在前面,先按这个排个序 然后再来决定每个人到底去哪边 设f[i][j]是做到了第i个人,然后1号窗口目前的总排队时间是j,目前的最大总时间 有这个i和j的话,再预处理出前i个 ...

  4. ZJOI2005午餐

    描述 上午的训练结束了,THU ACM小组集体去吃午餐,他们一行N人来到了著名的十食堂.这里有两个打饭的窗口,每个窗口同一时刻只能给一个人打饭.由于每个人的口味(以及胃口)不同,所以他们要吃的菜各有不 ...

  5. URAL 1203 Scientific Conference(贪心 || DP)

    Scientific Conference 之前一直在刷计算几何,邀请赛连计算几何的毛都买见着,暑假这一段时间就做多校,补多校的题目,刷一下一直薄弱的DP.多校如果有计算几何一定要干掉-.- 题意:给 ...

  6. Codeforces Round #699 (Div. 2) E.Sorting Books(贪心+DP / 线段树)超高质量题解,看不懂来打我 ~

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 E - Sorting Books 一排书架上有 nnn 本书排成一排,每本书上有一个颜色 aia_i ...

  7. 【bzoj3174】[Tjoi2013]拯救小矮人 贪心+dp

    题目描述 一群小矮人掉进了一个很深的陷阱里,由于太矮爬不上来,于是他们决定搭一个人梯.即:一个小矮人站在另一小矮人的 肩膀上,知道最顶端的小矮人伸直胳膊可以碰到陷阱口.对于每一个小矮人,我们知道他从脚 ...

  8. [ZJOI2005]午餐(贪心+dp)

    首先若只有一个窗口,利用贪心,按吃饭时间从大到小排序即可 正确性证明: 定义 eat[i] = 第i个人的吃饭时间,time[i] = 第i个人的打饭时间 延长时间T[i]=max(eat[i]- ∑ ...

  9. [ZJOI2005]午餐

    题目描述 上午的训练结束了,THU ACM小组集体去吃午餐,他们一行N人来到了著名的十食堂.这里有两个打饭的窗口,每个窗口同一时刻只能给一个人打饭.由于每个人的口味(以及胃口)不同,所以他们要吃的菜各 ...

最新文章

  1. C#编程概念系列(一):面向对象编程
  2. XCTF-高手进阶区:Web_php_include
  3. linux之so文件、a文件、o文件的区别
  4. 万张图片,流畅体验——记一次 Vue 列表渲染
  5. 什么是map评测指标
  6. 接口规范 12. 自动删除相关接口
  7. 天干物燥,给你写BUG的心来点甘露
  8. 宽字节UTF-8、多字节互转
  9. Atitit db access req数据库访问规范jdo jdbc jpa pdo sql 目录 1. 常见特性 1 1.1. 元数据 API 1 1.2. 分布式事务 vs事务中使用 Sav
  10. wordpress文章,页面,小工具如何使用php代码
  11. Scratch二次开发7:Scratch3.0作品的生命周期(各类状态)分析讲解
  12. 笔记 时间2012年2月15日14:35:30
  13. 约翰诺依曼在1940年发明了计算机英语,冯诺依曼元胞自动机
  14. 微信小程序wxacode.getUnlimited 生成圆形二维码
  15. 交叉编译libxcb与X11
  16. [论坛专贴]关于接口
  17. 如何用电脑模拟手机屏幕滑动 Total Control帮您实现
  18. SAP FI 系列 (031) - 允许在会计凭证中修改统驭科目
  19. 201771010137 赵栋《面向对象程序设计(java)》第十五周学习总结
  20. 老嘤学习笔记 python深浅拷贝

热门文章

  1. zabbix html使用c语言写的,zabbix 自定义LLD
  2. 红橙Darren视频笔记 网络请求优化方案 OOP面向对象 6大基本原则
  3. Python 绘制探地雷达堆叠波形图
  4. LeetCode-1423:可获得的最大点数
  5. 山东大学2017-2018年校历
  6. 使用Jersey来创建RESTful WebService
  7. Spark 性能相关参数配置详解-shuffle篇
  8. note_pom.xml文件配置说明_note
  9. 图书馆的uml概念类图怎么画_设计模式:UML?设计原则?
  10. html手册_前端学习感悟——HTML