**题目链接:**https://vjudge.net/problem/Gym-101964E

**题意:**有n只鱼,m个钓鱼的人,每条鱼有一个x和y坐标,每个人只有一个x坐标,y坐标等于0,当 |鱼.x-人.x|+鱼.y<=l,这个人就可以钓到这条鱼,问你每个人最多能钓到几条鱼。

**分析:**按x坐标对每个人从小到大排序,然后遍历每条鱼,每条鱼都有一个能被钓到的上下界x坐标,lower_bound查找下界x坐标在人数组的位置,upper_bound查找上界x坐标在人数组的位置。详情见代码。

#include <iostream>
#include <algorithm>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>using namespace std;const int maxn =200000+100;struct fish
{int x,y;
}a[maxn];struct fisher
{int  x,id;bool operator < (const fisher& rhs)const {return x < rhs.x;}
}b[maxn];int main()
{int n,m,l;int ans[maxn],sum[maxn];while(scanf("%d %d %d",&n,&m,&l)!=EOF){memset(sum,0,sizeof(sum));for(int i=0; i<n; i++)scanf("%d %d",&a[i].x,&a[i].y);for(int i=1; i<=m; i++){scanf("%d",&b[i].x);b[i].id=i;}sort(b+1,b+m+1);for(int i=0; i<n; i++){if(a[i].y>l)continue;int left,right;fisher tmp;tmp.x=a[i].x+a[i].y-l;left=lower_bound(b+1,b+m+1,tmp)-b;tmp.x=a[i].x-a[i].y+l;right=upper_bound(b+1,b+m+1,tmp)-b;sum[left]++;sum[right]--;}for(int i=1; i<=m; i++){sum[i]+=sum[i-1];ans[b[i].id]=sum[i];}for(int i=1; i<=m; i++)printf("%d\n",ans[i]);}return 0;
}

Fishermen Gym - 101964E(二分+前缀数组)相关推荐

  1. P1083 借教室(标记永久化线段树/二分+前缀和)难度⭐⭐⭐★

    P1083 借教室 标记永久化线段树 很典型的区间修改问题,先输入赋值建树(这就是最典型的线段树呀,别忘了),然后修改 这里问的是是否有足够的空教室,所以线段树中 min 代表的是当前区间内最小的剩余 ...

  2. POJ 3061 (二分+前缀和or尺取法)

    题目链接: http://poj.org/problem?id=3061 题目大意:找到最短的序列长度,使得序列元素和大于S. 解题思路: 两种思路. 一种是二分+前缀和.复杂度O(nlogn).有点 ...

  3. POJ - 3450 Corporate Identity(二分+后缀数组)

    题目链接:点击查看 题目大意:给出n个字符串,求出n个字符串中最长的公共子串,如果没有,输出IDENTITY LOST 题目分析:可以直接用二分+后缀数组来做,先将n个字符串连接起来,中间用一个不同的 ...

  4. 【实数二分/前缀和维护】Best Cow Fences

    Poj 2018 Best Cow Fences 实数二分+前缀和维护 调了一晚上, 但发现没什么注意事项orz 无输出只因eps定义成了int型QAQ哭唧唧 #include<cstdio&g ...

  5. Gym - 101911B Glider(前缀和+二分)

    传送门:点我 A plane is flying at a constant height of hh meters above the ground surface. Let's consider ...

  6. E.Text Editor (Gym 101466E + 二分 + kmp)

    题目链接:http://codeforces.com/gym/101466/problem/E 题目: 题意: 给你s串和t串,一个数k,求t的最长前缀串在s串中出现次数不少于k. 思路: 一眼二分+ ...

  7. POJ - 3261 Milk Patterns(二分+后缀数组)

    题目链接:点击查看 题目大意:给出一个字符串,以及一个k,现在求出现次数大于等于k次的最大可重叠子串的长度 题目分析:可以说是后缀数组的模板题目了吧..直接跑出height数组,因为height数组代 ...

  8. POJ - 1743 Musical Theme(二分+后缀数组+差分数组)

    题目链接:点击查看 题目大意:给出n个连续的数字组成的序列,现在要求出其中两个不重叠的字序列,满足两个子序列"相似",相似的定义是两个子序列当且仅当长度相等并且每一位的数字差都相等 ...

  9. HDU5853 Jong Hyok and String(二分 + 后缀数组)

    题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=5853 Description Jong Hyok loves strings. One da ...

  10. Codeforces Round #509 D - Glider(枚举二分前缀和)

    题意: 给出滑翔机的高度h 以及有n段上升气流区间,滑翔机在非上升气流区间会以每前进一个单位 高度就下降一个单位的 速度坠落 ,而在有上升气流的区间,滑翔机将持续前进,并不会下落,问在一维坐标上的哪个 ...

最新文章

  1. 线上接口经常超时,我用线程池+ FutureTask解决了,YYDS
  2. linux c 读取摄像头,Linux下onvif客户端获取ipc摄像头 获取能力:GetCapabilities
  3. s5pv210——LCD基础理论
  4. (软件工程复习核心重点)第七章软件维护-第一节:软件维护的概念和特点
  5. (6)售货机verilog与Systemverilog编码
  6. python中msg是什么意思,使用python解析Outlook .msg文件
  7. seaborn箱线图_Seaborn线图的数据可视化
  8. 同步互斥阻塞 (2)
  9. 1992-2021合集 全国大学生数学建模竞赛(历年赛题题目+定位分析)
  10. zebra扫码枪复位_条码扫描枪设置使用说明详解
  11. 关于tomcat中Host中appBase与docBase的关系
  12. video autoplay失效
  13. 解决IDEA的maven刷新依赖时出现Connot reconnect错误
  14. 呕心沥血之飞冰(icejs)项目使用vue组件 -- vuera
  15. linux pptpd 不能上网,CentOS7.7使用pptpd搭建服务器(配置好了,但是不能使用)
  16. 高中化学竞赛能用计算机吗,加分取消不用参加奥赛了?这8个竞赛国家支持、高校认可...
  17. 生活要有新鲜感,麻烦给我来一杯依维世苏打水鸡尾酒
  18. 三星n8000Android,三星 N8000 刷机详细图文教程
  19. 影像科室PACS 影像工作站性能要求
  20. vmware安装centos7登录出现something went gone 错误

热门文章

  1. Connect Four四子棋c++程序 - 善后处理(3)
  2. Gucci“瑕疵”口红海报是一种对审“丑”广告的致敬吗?
  3. 程序员版本的八荣八耻,爱了
  4. python中三元运算符_Python中三元表达式的几种写法介绍
  5. Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE
  6. Win2003域之组策略应用
  7. 网站地图Sitemap怎么制作
  8. 七牛云图片外链失效的解决办法
  9. Java算法每日练习
  10. 微信公众号申请所需材料汇总