http://www.lydsy.com/JudgeOnline/problem.php?id=1199

求出圆x的范围

把要判断的点按x从小到大排序

枚举图形

二分出x满足这个图形的一段区间

枚举这段区间内的每个点

圆判断到圆心的距离

矩形判断y

代码不是我的~~~

#include<bits/stdc++.h>
#define N 1000010
using namespace std;
const double eps=1e-7;
struct node
{double x1,x2,y1,y2;double x,y,r;char c;bool friend operator < (node a,node b){return a.x1<b.x1;}
}a[N];
char s[3];
int out[N];
struct point
{double x,y;int num;
}e[N];
int n,m;
double sqr(double x)
{return x*x;
}
bool pd(double x1,double y1,double x,double y,double r)
{return sqr(x-x1)+sqr(y-y1)<sqr(r);
}
bool cmp(point a,point b)
{return a.x<b.x;
}
int main()
{scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){scanf("%s",s+1);if(s[1]=='r'){scanf("%lf%lf%lf%lf",&a[i].x1,&a[i].y1,&a[i].x2,&a[i].y2);if(a[i].x1>a[i].x2) swap(a[i].x1,a[i].x2),swap(a[i].y1,a[i].y2);a[i].c=s[1];}else{scanf("%lf%lf%lf",&a[i].x,&a[i].y,&a[i].r);a[i].x1=a[i].x-a[i].r;a[i].x2=a[i].x+a[i].r;a[i].c=s[1];}}for(int i=1;i<=m;i++) scanf("%lf%lf",&e[i].x,&e[i].y),e[i].num=i;sort(e+1,e+m+1,cmp);for(int i=1;i<=n;i++){int ll=-1,rr=-1;int l=1,r=m;while(l<=r){int mid=l+r>>1;if(e[mid].x>a[i].x1){ll=mid;r=mid-1;}else l=mid+1;}l=1,r=m;while(l<=r){int mid=l+r>>1;if(e[mid].x<a[i].x2){rr=mid;l=mid+1;}else r=mid-1;}if(ll==-1 || rr==-1) continue;for(int j=ll;j<=rr;j++){if(a[i].c=='c'){if(pd(e[j].x,e[j].y,a[i].x,a[i].y,a[i].r)) out[e[j].num]++;}else{if(e[j].y<a[i].y2&&e[j].y>a[i].y1) out[e[j].num]++;}}}for(int i=1;i<=m;i++)cout<<out[i]<<"\n";return 0;
}

转载于:https://www.cnblogs.com/TheRoadToTheGold/p/8168724.html

bzoj千题计划176:bzoj1199: [HNOI2005]汤姆的游戏相关推荐

  1. BZOJ 1199: [HNOI2005]汤姆的游戏 计算几何暴力

    1199: [HNOI2005]汤姆的游戏 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/p ...

  2. 1199: [HNOI2005]汤姆的游戏 - BZOJ

    Description 汤姆是个好动的孩子,今天他突然对圆规和直尺来了兴趣.于是他开始在一张很大很大的白纸上画很多很多的矩形和圆.画着画着,一不小心将他的爆米花弄撒了,于是白纸上就多了好多好多的爆米花 ...

  3. BZOJ 2150. 部落战争(最小路径覆盖问题)【BZOJ千题计划】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 刷题就图一乐 题目链接 https://hydro.ac/d/bzoj/p/2150 是 hydro ...

  4. BZOJ 2151 种树(可反悔贪心,链表)【BZOJ千题计划】就图一乐

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 题目链接 https://hydro.ac/d/bzoj/p/2151 是 hydro 的 BZOJ ...

  5. BZOJ 1799 [Ahoi2009] self 同类分布(数位DP)【BZOJ千题计划(quexin】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 题目链接 https://hydro.ac/d/bzoj/p/1799(样例时限设置有问题,应该为 2 ...

  6. bzoj千题计划143:bzoj1935: [Shoi2007]Tree 园丁的烦恼

    http://www.lydsy.com/JudgeOnline/problem.php?id=1935 二维偏序问题 排序x,离散化树状数组维护y #include<cstdio> #i ...

  7. bzoj千题计划207:bzoj1879: [Sdoi2009]Bill的挑战

    http://www.lydsy.com/JudgeOnline/problem.php?id=1879 f[i][j] 表示匹配了i个字符,匹配字符串的状态为j的方案数 枚举下一个字符是什么 计算加 ...

  8. bzoj千题计划203:bzoj3994: [SDOI2015]约数个数和

    http://www.lydsy.com/JudgeOnline/problem.php?id=3994 设d(x)为x的约数个数,给定N.M,求 用到的一个结论: 证明: 枚举n的约数i,枚举m的约 ...

  9. bzoj千题计划280:bzoj4592: [Shoi2015]脑洞治疗仪

    http://www.lydsy.com/JudgeOnline/problem.php?id=4592 注意操作1 先挖再补,就是补的范围可以包含挖的范围 SHOI2015 的题 略水啊(逃) #i ...

  10. bzoj千题计划201:bzoj1820: [JSOI2010]Express Service 快递服务

    http://www.lydsy.com/JudgeOnline/problem.php?id=1820 很容易想到dp[i][a][b][c] 到第i个收件地点,三个司机分别在a,b,c 收件地点的 ...

最新文章

  1. c语言函数与编译预处理教学视频,C语言课程第6章 函数及编译预处理.ppt
  2. Alibaba Dubbo框架同步调用原理分析-1
  3. MVC开发中的常见错误-06-无法在发送 HTTP 标头之后进行重定向。
  4. 焦油坑和人月神话--人月笔记1
  5. 冒泡排序的原理,思路,以及算法分析(Java实现)
  6. 美团在Redis上踩过的一些坑-3.redis内存占用飙升
  7. SparkStreaming 异常:java.lang.NoSuchMethodError: scala.Predef scope()Lscala/xml/TopScope
  8. Python学习教程(Python学习路线):Day13-进程和线程
  9. mysql最小费用最大流问题_最小费用最大流问题
  10. 假期第7天……想和测试人聊聊这个问题
  11. scala 正则表达式
  12. idea集成SVN后查看当前文件修改的历史版本
  13. 融云会话界面自定义功能_融云SDKv2.6.6官方最新版
  14. 關於微軟TTS的筆記
  15. 发明界泥石流!河南一小伙发明陪酒机器人,全程高能结局笑疯
  16. android avm灰色,APICloud AVM多端开发案例深度解析(上)--点餐app开发
  17. 读书笔记---Naive Bayes
  18. pid控制温度c语言,C语言编写PID温度控制程序
  19. 字节提出TRT-ViT:面向TensorRT的视觉Transformer,加速显著!
  20. 花瓣搜索编辑网站的方法

热门文章

  1. 全自动驾驶论文_自动驾驶汽车:我们距离全自动驾驶有多近?
  2. PyTorch 中两大核心转置函数 transpose() 和 permute()(类似numpy的交换维度、转置)
  3. 小学计算机应用到英语课教案,人教版小学英语三年级上册unit one hello!文具单词教学信息技术应用成果(教学设计方案).doc...
  4. postgresql保存图片_第一章 PostgreSQL中的数据库集群、数据库和表
  5. python执行命令不阻塞_Python 命令行非阻塞输入
  6. vscode配置python调试_vscode配置python环境-运行调试-windows环境
  7. mysql二进制文件如何查看_使用mysqlbinlog查看MySQL二进制文件内容
  8. conda 虚拟环境内安装git_用anaconda创建的虚拟环境安装FALCON
  9. 人工智能python实战代码_人工智能------基于Python实战注疏
  10. UnicodeDecodeError: 'gbk' codec can't decode byte 0xab in position 11126: illegal multibyte sequence