#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
struct pd{int x,y;//x表示坐标,y表示高度
}a[100001];
pd stk[100001];
bool q[100001],h[100001];//q[i]用来存储在点的左边拥挤的个数,h[i]存储右边拥挤个数
inline bool cmp(pd a,pd b)
{return a.x < b.x;
}
int main()
{int n,d;scanf("%d%d",&n,&d);for(int i=1;i<=n;i++)scanf("%d%d",&a[i].x,&a[i].y);sort(a+1,a+n+1,cmp);int hh=1,tt=0;for(int i=1;i<=n;i++)//判断每头牛的左边是否存才比它高两倍的牛{while(hh <= tt && stk[tt].y < a[i].y) tt--;stk[++tt]=a[i];while(hh <= tt && stk[hh].x < a[i].x-d) hh++;if(stk[hh].y>=a[i].y*2)q[i]=1;}memset(stk,0,sizeof stk); hh=1; tt=0;for(int i=n;i;i--)//判断每头牛的右边是否存才比它高两倍的牛{while(hh <= tt && stk[tt].y < a[i].y) tt--;stk[++tt]=a[i];while(hh <= tt && stk[hh].x > a[i].x+d) hh++;if(stk[hh].y >= a[i].y*2) h[i]=1;}int ans=0;for(int i=1;i<=n;i++)if(q[i]&&h[i])ans++;//如果这头牛两边都有比它高两倍的就会觉得拥挤printf("%d",ans);return 0;
}

P3088 [USACO13NOV]Crowded Cows相关推荐

  1. P3088 [USACO13NOV]CROWDED COWS S

    https://www.luogu.com.cn/problem/P3088 题目描述 Farmer John's N cows (1 <= N <= 50,000) are grazin ...

  2. [USACO13NOV]Crowded Cows【暴力枚举】

    Pro Luogu3088 Sol 把所有牛的身高按照高度排序方便剪枝.从大到小枚举,如果枚举的这个点满足在范围内且是它的二倍的话,flagflagflag标记一下,记住一定要两个标记,因为范围是两边 ...

  3. [USACO13NOV]Crowded Cows

    题目链接-洛谷 #include<cstdio> #define MAXN 500005 using namespace std;int x[MAXN]; int h[MAXN];int ...

  4. Crowded Cows(洛谷P3088)

    [USACO13NOV]CrowdedCowsS[USACO13NOV]Crowded Cows S[USACO13NOV]CrowdedCowsS 传送门 思路 先看数据, 对于 202020 %的 ...

  5. [USACO13NOV]挤奶牛Crowded Cows(洛谷 P3088)

    题目描述 Farmer John's N cows (1 <= N <= 50,000) are grazing along a one-dimensional fence. Cow i ...

  6. 单调队列(P3088 Crowded Cows S)

    题目描述 Farmer John's N cows (1 <= N <= 50,000) are grazing along a one-dimensional fence. Cow i ...

  7. 挤奶牛Crowded Cows 洛谷p3088

    题目描述 Farmer John's N cows (1 <= N <= 50,000) are grazing along a one-dimensional fence. Cow i ...

  8. 【BZOJ3314】 [Usaco2013 Nov]Crowded Cows 单调队列

    第一次写单调队列太垃圾... 左右各扫一遍即可. 1 #include <iostream> 2 #include <cstdio> 3 #include <cstrin ...

  9. 2191: 【USACO】Crowded Cows

    2191: [USACO]Crowded Cows 时间限制: 1.000 Sec  内存限制: 64 MB 提交: 26  解决: 19 [命题人:][下载数据: 90] 提交状态报告 题目描述 ...

最新文章

  1. 【OpenCV 4开发详解】分割图像——Grabcut图像分割
  2. nginx telnet sshd
  3. C# DES 加密 解密
  4. oracle 10g安装过程遇到的问题
  5. oracle 重做日志内容,Oracle重做日志文件基础
  6. 5分钟读完华为区块链白皮书关键信息:推动构建一种新型价值网络
  7. Cpp 对象模型探索 / delete 运算符内部调用过程分析
  8. python报错输出到日志_Python日志记录和子进程输出和错误流
  9. 【Java集合学习系列】HashMap实现原理及源码分析
  10. ERROR 1045 (28000): Access denied for user 'backup'@'mysql' (using password: YES)
  11. Adobe AIR教程:ANE面向IAP的测试和开发
  12. Javascript的一个生产PDF的库: unicode和中文问题的解决
  13. Could not load NIB in bundle: 'NSBundle /Users/wyd/Library/Application Support/iPhone Simulator/5.0
  14. 软件著作权算法软件设计说明书_急求app软件著作权说明书模板
  15. PowerBI学习笔记
  16. matlab gz,MATLAB之single函数
  17. MySQL这一章就够了(一)
  18. 数据产品-数据化产品应用
  19. CODOSYS之结构化文本(ST)—— 初级篇(三)基础-数据类型
  20. 零售行业常见数据分析简介

热门文章

  1. 【uni-app】H5的返回拦截经验分享
  2. 不要提前交卷!!!曾有人在最后35秒,拿到了13分!!!(祝所有考生顺利)...
  3. ANSI colored Python logging — Gist
  4. 电脑出现initialization failure:0x0000000c如何解决
  5. 维乐VELO副总陈安荣:宽容对待美学,会让生活更幸福
  6. OpenCV小案例(2)——判断一张图片中多少种颜色
  7. 第 20 题:请描述一下 BFC、IFC、GFC 和 FFC 的区别?
  8. 简单易懂的P2P通信原理
  9. 学习Java真的可以改变你的人生?
  10. 原生爬取熊猫平台的数据