Flowerpot(又是尺取。。)
题目:http://172.21.85.56/oj/exercise/problem?problem_id=21568
题目大意:老板需要你帮忙浇花。给出N滴水的坐标,y表示水滴的高度,x表示它下落到x轴的位置。
每滴水以每秒1个单位长度的速度下落。你需要把花盆放在x轴上的某个位置,使得从被花盆接着的第1滴水开始,到被花盆接着的最后1滴水结束,之间的时间差至少为D。
我们认为,只要水滴落到x轴上,与花盆的边沿对齐,就认为被接住。给出N滴水的坐标和D的大小,请算出最小的花盆的宽度W
分析:使用神奇map,map可以对key进行升序排序,如果我们key记录的是水滴的高度的话,我们很快就可以知道这个区间的最大与最小值了,可以用map的value来记录该水滴是否出现过
当然先个x排个序先
AC代码:
#include<stdio.h>
#include<map>
#include<math.h>
#include<algorithm>
#define MAX 110000
#define INF 0x3f3f3f3f
using namespace std;
struct no
{
int x;
int y;
}a[MAX];
bool cmp(no a,no b)
{
return a.x<b.x;
}
map<int,int>mp;
int main()
{
int n,d,ma,mi,mixx;
while(scanf("%d%d",&n,&d)!=EOF)
{
mp.clear();
mixx=INF;
for(int i= ; i<n ;i++)
scanf("%d%d",&a[i].x,&a[i].y);
sort(a,a+n,cmp);
int st=,en=;
mp[a[en].y]++; while(st<=en&&en<n)
{
ma=(--mp.end())->first;
mi=(mp.begin())->first;
if(ma-mi>=d)
{
int t=fabs(a[en].x-a[st].x);
mixx=min(mixx,t);
mp[a[st].y]--;
if(mp[a[st].y]==)
mp.erase(a[st].y);
st++;
}
else
{
en++;
mp[a[en].y]++;
}
}
if(mixx!=INF)
printf("%d\n",mixx);
else
printf("-1\n");
}
}
Flowerpot(又是尺取。。)的更多相关文章
- 【尺取】HDU Problem Killer
acm.hdu.edu.cn/showproblem.php?pid=5328 [题意] 给定一个长度为n的正整数序列,选出一个连续子序列,这个子序列是等差数列或者等比数列,问这样的连续子序列最长是多 ...
- Gym 100703I---Endeavor for perfection(尺取)
题目链接 http://codeforces.com/problemset/gymProblem/100703/I Description standard input/outputStatement ...
- NOJ 1072 The longest same color grid(尺取)
Problem 1072: The longest same color grid Time Limits: 1000 MS Memory Limits: 65536 KB 64-bit in ...
- hdu 4123 Bob’s Race 树的直径+rmq+尺取
Bob’s Race Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Probl ...
- Codeforces Round #116 (Div. 2, ACM-ICPC Rules) E. Cubes (尺取)
题目链接:http://codeforces.com/problemset/problem/180/E 给你n个数,每个数代表一种颜色,给你1到m的m种颜色.最多可以删k个数,问你最长连续相同颜色的序 ...
- poj2566尺取变形
Signals of most probably extra-terrestrial origin have been received and digitalized by The Aeronaut ...
- poj2100还是尺取
King George has recently decided that he would like to have a new design for the royal graveyard. Th ...
- hdu 6231 -- K-th Number(二分+尺取)
题目链接 Problem Description Alice are given an array A[1..N] with N numbers. Now Alice want to build an ...
- Codeforces 939E Maximize! (三分 || 尺取)
<题目链接> 题目大意:给定一段序列,每次进行两次操作,输入1 x代表插入x元素(x元素一定大于等于之前的所有元素),或者输入2,表示输出这个序列的任意子集$s$,使得$max(s)-me ...
随机推荐
- shell直接退出后 后台进程关闭的原因和对处
在linux上进行测试时发现启动后台进程后,如果使用exit退出登录shell,shell退出后后台进程还是能够正常运行,但如果直接关闭登陆的窗口(如直接关掉xshell),那后台进程就会一起终了.都 ...
- NLTK词性标注解释
1. CC Coordinating conjunction 连接词2. CD Cardinal number 基数词3. DT Determin ...
- intellij idea 在执行maven的操作 install等会出现中文乱码?其他程序打印正常?
之前一直碰到过这个问题,也没在意,因为那个中文对我来说用处不大,今天看着务必难受,一定把他给解决了,查了一下,找到了解决方法,如下: 首先打开你的设置. Setting->maven->r ...
- 获取当前设备的CPU个数
public class Test { public static void main(String[] args) { //获取当前设备的CPU个数 int availableProcessors ...
- bzoj4318 OSU!
传送门 题目 osu 是一款群众喜闻乐见的休闲软件. 我们可以把osu的规则简化与改编成以下的样子: 一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1个长度为n ...
- 神奇的overflow:hidden及其背后的原理
先来看两个overflow:hidden的使用例子 1.嵌套布局内部块元素设置float:left时,导致外部元素塌方,高度为0的问题. <div class="wrap"& ...
- map集合的应用
分析以下需求,并用代码实现: (1)利用键盘录入,输入一个字符串 (2)统计该字符串中各个字符的数量例如 用户输入字符串"If~you-want~to~change-your_fate_I_ ...
- win7搭建TensorFlow环境
官网安装指南地址:https://www.tensorflow.org/install/pip 安装过程碰到的问题: 1.创建虚拟环境 virtualenv --system-site-package ...
- Java的get请求-----接口测试
package findyou.Interface; import java.net.HttpURLConnection; import java.net.URL; public class URLC ...
- BootStrap母版页布局.子页面布局.BootstrapTable.模态框.警告框.html导出tabl生成Excel.HTML生成柱图.饼图.时间控件中文版
如上就是很多后台管理系统的母版页布局. 左边一列模板.上面一列系统标识. 空白处充填子页面 以ASP.NET MVC为基础 引入bootstrap.js.bootstrap.css body: < ...