刷水~

Code:

#include<bits/stdc++.h>
using namespace std;
#define setIO(s) freopen(s".in","r",stdin)
#define maxn 300000
#define inf 1000000
deque<int>p,q;
struct Node
{ int x,y;
}nd[maxn];
bool cmp(Node a, Node b)
{return a.x < b.x;
}
int main()
{// setIO("input");      int n,D,ans=inf; scanf("%d%d",&n,&D);for(int i=1;i<=n;++i) {scanf("%d%d",&nd[i].x,&nd[i].y); }sort(nd+1,nd+1+n,cmp);  for(int i=1;i<=n;++i) {while(!p.empty()&&nd[i].y>=nd[p.back()].y) p.pop_back();      while(!q.empty()&&nd[i].y<=nd[q.back()].y) q.pop_back();   p.push_back(i), q.push_back(i);   int pre=0;  while(!p.empty()&&nd[p.front()].y-nd[i].y>=D) { pre=nd[p.front()].x;  p.pop_front(); } if(pre) ans=min(ans, nd[i].x - pre); pre=0; while(!q.empty()&&nd[i].y-nd[q.front()].y>=D) { pre=nd[q.front()].x;  q.pop_front(); }  if(pre) ans=min(ans, nd[i].x - pre); }printf("%d\n",ans==inf?-1:ans);      return 0;
}

  

luogu 2698 [USACO12MAR]花盆Flowerpot 单调队列相关推荐

  1. 洛谷 P2698 [USACO12MAR]花盆Flowerpot 单调队列

    https://www.luogu.org/problemnew/show/P2698 题意中文的不说了: 做法:就是一个滑动区间维护最大值和最小值,首先,了解一条性质,对于满足要求的两个区间 (l1 ...

  2. P2698 [USACO12MAR]花盆Flowerpot 单调队列

    https://www.luogu.org/problemnew/show/P2698 警示 用数组写双端队列的话,记得le = 1, ri = 0: le<=ri表示队列非空 题意 求一个最小 ...

  3. #单调队列#洛谷 2698 [USACO12MAR]花盆Flowerpot

    题目 给出N滴水的坐标(X,Y),y表示水滴的高度,x表示它下落到x轴的位置.每滴水每秒从(x,y)到(x,y-1).你需要把花盆放在x轴上的某个位置,使得从开始接水到水滴完之间的时间差至少为D,只要 ...

  4. luogu P2698 [USACO12MAR]花盆Flowerpot

    背景: 集训Day3Day3Day3,单调队列开启. 其实原来就会,但是好像没做几题(除了斜率优化的). 打算用111至222天做一些题(太菜,大佬勿喷). rank=20000+rank=20000 ...

  5. P2698 [USACO12MAR]花盆Flowerpot(单调队列+二分)

    P2698 [USACO12MAR]花盆Flowerpot 一看标签........十分后悔 标签告诉你单调队列+二分了............ 每次二分花盆长度,蓝后开2个单调队列维护最大最小值 蓝 ...

  6. 洛谷P2698 [USACO12MAR]花盆Flowerpot

    P2698 [USACO12MAR]花盆Flowerpot 题目描述 Farmer John has been having trouble making his plants grow, and n ...

  7. [洛谷P2698] [USACO12MAR]花盆Flowerpot

    洛谷题目链接:[USACO12MAR]花盆Flowerpot 题目描述 Farmer John has been having trouble making his plants grow, and ...

  8. [USACO12MAR]花盆Flowerpot 二分答案+单调队列

    题意: 给出N滴水的坐标,y表示水滴的高度,x表示它下落到x轴的位置. 每滴水以每秒1个单位长度的速度下落.你需要把花盆放在x轴上的某个位置,使得从被花盆接着的第1滴水开始,到被花盆接着的最后1滴水结 ...

  9. [USACO12MAR]花盆Flowerpot(二分答案+单调队列)

    传送门 题意:直接看题意即可 题解:首先可以通过二分枚举区间大小,然后通过单调队列求出每个区间的最大值和最小值进行比较,最后得出答案即可. 附上代码: #include<bits/stdc++. ...

最新文章

  1. FPGA之道(64)代码中的约束信息(一)保持约束
  2. python3.6.4安装教程-centos7中安装python3.6.4的教程
  3. webstock php,workerman_connection
  4. 子集生成 --二进制法
  5. @value 数组_为什么不推荐用for...in遍历数组
  6. 开发函数计算的正确姿势——借助 Ghostscript 将 PDF 转换成 JPG
  7. android 进程有时间片运行,kernel笔记——进程调度
  8. 【clickhouse】Port 9000 is for clickhouse-client program
  9. 程序员面试金典——18.1另类加法
  10. Swift 编程语言
  11. jqGrid复制表格数据到另外一张表中
  12. BUUCTF MISC刷题
  13. 赣州旅游职业学校学计算机,赣州旅游职业学校是公办的吗
  14. php怎么检测数据类型,PHP检测数据类型的几种方法总结和技巧
  15. QT窗口:透明与半透明、不规则异形窗口、控件透明与半透明、不规则异形按钮
  16. src和href的区别
  17. OpenCV4.x图像处理实例-自动包围曝光(Auto Exposure Bracketing,AEB)
  18. 深度学习在静息态功能磁共振成像中的应用
  19. AD2019查看网络走线
  20. 西安电子科技大学计算机学院 段毅,计算机网络与信息安全国家级实验教学示范中心举办“金山云AIoT教学模型培训交流活动”...

热门文章

  1. 使用sil9233a芯片控制海思hi3531d的hdmi输入
  2. python web编程之django post请求
  3. python0表示剪刀_简化Python代码(石头、纸、剪刀)
  4. gdal库之ecw光栅图像支持
  5. 内网渗透测试 MSF搭建socks代理
  6. (附源码)springboot校园疫情管理系统 毕业设计021506
  7. oracle语句中dual什么意思,oracle中dual详解
  8. html实现数据分布,【数据可视化】项目分布地图设计之显示省份地图
  9. 网页集成支付宝扫码登录
  10. Echarts可视化 之custom自定义系列