1612: 刘备闯三国之桃园结义

Time Limit: 1000 MS  Memory Limit: 128 MB
Submit: 181  Solved: 12
[Submit][Status][Web Board]

Description

刘备(161年-223年6月10日),字玄德,东汉末年幽州涿郡涿县,西汉中山靖王刘胜的后代。刘备一生极具传奇色彩,早年颠沛流离、备尝艰辛最终却凭借自己的谋略终成一方霸主。那么在那个风云激荡的年代,刘备又是如何从一个卖草鞋的小人物一步一步成为蜀汉的开国皇帝呢?让我们一起拨开历史的迷雾,还原一个真实的刘备。

       刘备心怀大志,当然不甘于当一个卖草鞋的小贩,于是离家闯荡江湖。恰好遇到志同道合的关羽、张飞二人,三人准备在桃园结义。但是在谁当大哥的问题上,关张并不服刘备当老大,二人环顾四周,灵机一动,给刘备提出如下问题:

当时的桃园游人摩肩接踵、然而春雨绵绵。桃园内有n个行人,和m个亭子,有些游客在亭子内躲雨,但也有一些行人在雨中漫步。关张表示:如果刘备能准确统计出有多少个人在雨中,那他们就认刘备当大哥。桃园可以看出二维平面坐标轴,行人为点,亭子为圆形。

刘备微微一笑,左顾右盼、前瞻后顾,然而算得头昏脑胀。做为刘备身边的小弟,又到了你替老大分担忧愁的时候了。

Input

第一行一个整数n(1<=n<=10^5),表示有n个行人

以下有n行,每行有n有两个整数x,y (0<=x,y<=10000),表示行人的坐标为(x,y)

接下来有一个整数m(1<=m<=20000),表示桃园中有m个亭子,亭子可以视为圆形。

以下m行,每行有3个整数x ,y ,r ,(0<=x,y<=10000, 1<=r<=100)表示亭子的中心坐标为(x,y),半径为r,亭子之间可以相交。

Output

输出在雨中行人的个数。

如果行人在亭子的边缘位置,也记为在亭子内。

Sample Input

5
0 0
100 0
0 100
100 100
50 50
1
0 0 50

Sample Output

4

HINT

Source

by cjf

[Submit][Status][Web Board]

题目链接:

  http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1612

题目大意:

  图上有N个点,M个圆,圆可能相交,问N个点中不被任何圆覆盖到的点有多少个。

题目思路:

  【二分】

  首先将点按x坐标从小到大排序,再将圆按照x+r从小到大排序

  之后枚举每一个点,二分找到第一个x坐标包含到当前点x坐标的圆,之后开始往后判断,是否被圆覆盖。只要一被覆盖就break

  

/****************************************************Author : CoolxxxCopyright 2017 by Coolxxx. All rights reserved.BLOG : http://blog.csdn.net/u010568270****************************************************/
#include<bits/stdc++.h>
#pragma comment(linker,"/STACK:1024000000,1024000000")
#define abs(a) ((a)>0?(a):(-(a)))
#define lowbit(a) (a&(-a))
#define sqr(a) ((a)*(a))
#define mem(a,b) memset(a,b,sizeof(a))
const double EPS=1e-8;
const int J=10;
const int MOD=100000007;
const int MAX=0x7f7f7f7f;
const double PI=3.14159265358979323;
const int N=100004;
const int M=20004;
using namespace std;
typedef long long LL;
double anss;
LL aans;
int cas,cass;
int n,m,lll,ans;
bool in[N];
struct Point
{int x,y;
}p[N];
struct Circle
{int x,y,r;
}c[M];
bool cmp1(Point a,Point b)
{if(a.x!=b.x)return a.x<b.x;return a.y<b.y;
}
bool cmp2(Circle a,Circle b)
{if((a.x+a.r)!=(b.x+b.r))return (a.x+a.r)<(b.x+b.r);return a.r>b.r;
}
inline int dis(Point a,Circle b)
{return sqr(a.x-b.x)+sqr(a.y-b.y);
}
int main()
{#ifndef ONLINE_JUDGEfreopen("1.txt","r",stdin);
//  freopen("2.txt","w",stdout);#endifint i,j,k;int x,y,z;
//  for(scanf("%d",&cass);cass;cass--)
//  for(scanf("%d",&cas),cass=1;cass<=cas;cass++)
//  while(~scanf("%s",s))while(~scanf("%d",&n)){ans=n;for(i=1;i<=n;i++)scanf("%d%d",&p[i].x,&p[i].y);sort(p+1,p+1+n,cmp1);scanf("%d",&m);for(i=1;i<=m;i++)scanf("%d%d%d",&c[i].x,&c[i].y,&c[i].r);sort(c+1,c+1+m,cmp2);int last=1;for(i=1;i<=n;i++){int l,r,mid;l=last;r=m;while(l<r){mid=(l+r)/2;if(c[mid].x+c[mid].r>=p[i].x)r=mid;else l=mid+1;}last=l;for(j=mid;j<=m;j++){if(dis(p[i],c[j])<=sqr(c[j].r)){ans--;break;}if(c[j].x-c[j].r>p[i].x)break;}}printf("%d\n",ans);}return 0;
}
/*
////
*/

XMU 1612 刘备闯三国之桃园结义 【二分】相关推荐

  1. XMU 1611 刘备闯三国之卖草鞋 【贪心】

    1611: 刘备闯三国之卖草鞋 Time Limit: 1000 MS  Memory Limit: 64 MB Submit: 89  Solved: 47 [Submit][Status][Web ...

  2. XMU 1617 刘备闯三国之汉中之战 【BFS+染色】

    1617: 刘备闯三国之汉中之战 Time Limit: 1000 MS  Memory Limit: 128 MB Submit: 6  Solved: 5 [Submit][Status][Web ...

  3. 【技术小说连载】新三国外传——桃园结义

    小说连载系列是我第一次尝试的新的技术讲解方式,希望通过小说的形式将技术细节讲解清楚. 第二篇中长篇连载小说<新三国外传>,主要讲解一些架构.新技术以及程序员工作中的一些轶事,希望大家能够喜 ...

  4. 商业智慧——三国职场人

    <商业智慧:三国职场人生> 三国职场人生 找对你的老板 曹操VS袁绍,跟对老板(1) 三国典故:张绣认曹操做老大 张绣公司是个小公司,数次击败曹操,在宛城占了一点地盘.张绣知道,小公司生存 ...

  5. 第二十一章 刘备脱险

    第二十一章 刘备脱险 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /& ...

  6. 刘备学Android Word文档下载地址和序言

    序言 刘备学Android,采用了一种简单娱乐的方式去介绍了Android的一些基础知识,适用于刚开始学习Android的同学们. 刘备学Android,在内容上,稍微有点落后现在的Android版本 ...

  7. 六张图看透孙权和刘备管理的成与败

    孙权18岁接过父兄基业,掌管东吴政权,直到71岁去世,其间长达53年,东吴政权始终坚如磐石. 赤壁之战是东吴集团的重要转折,抵挡住了曹操国企的恶意收购之后,孙权更深刻的确立了企业战略:立足江东市场稳步 ...

  8. 三国网页雄心服务器,新网页三国传奇联盟4大都城全部攻克

    作为<新网页三国>的第二个服务器"桃园结义"服,其发展的速度却出乎意料的快,甚至已经超过了一服"混沌初开"服.今天早上,随着一贴战报被曝光于web三 ...

  9. 《三国之刃》动画、特效、UI编辑方案

    (以下内容依据Cocos秋季峰会演讲速记稿整理) 主持人王哲: 蔡加庚是<三国之刃>的技术负责人,也是我多年的好友.这个项目所有人都极其低调,即使游戏经常上榜Top10,但几乎从未对外分享 ...

  10. vue后端框架mysql_springboot + vue 前后端结合·数据库查询

    springboot + vue 前后端结合·数据库查询 数据库部分: /* Navicat Premium Data Transfer Source Server : localHost Sourc ...

最新文章

  1. Laravel核心代码学习 -- Facades
  2. Centos 6.4下 MySQL配置主从服务(集群)
  3. ORA-14400: inserted partition key does not map to any partition
  4. 尝试修改LabelImg,将以对顶角画框改成以对角线相交点向四周画框
  5. 深入理解编译优化之循环展开和粗化锁
  6. 软考解析:2014年下半年下午试题
  7. php二叉排序树,二叉排序树(建树)
  8. 算法笔记--无向图的桥、割点、边双连通分量和点双连通分量
  9. ios xcode如何在控制台打印frame
  10. 每日一题 字典序的第K小数字
  11. mac 修改vmware的NAT网关
  12. 求某年某月某日是星期几公式
  13. 【接口测试实战(三)】接口测试用例的编写
  14. java duplicate_java中出现duplicate local variable
  15. PLC、PAC、PC-Based、软PLC傻傻分不清
  16. 《信贷的逻辑与常识》笔记
  17. 机器人辅助的符文天赋_LOL机器人辅助带什么天赋_S9机器人辅助怎么玩_3DM网游...
  18. 【STM32】DAC详解
  19. 机械手基坐标系和工具坐标系的相互转换
  20. WINDOWS网络服务第一章预习导图

热门文章

  1. 冰桶大作战怎么玩_开源领导者接受冰桶挑战
  2. 为什么大多数娃娃都是熊娃娃?
  3. 基于Nonebot2搭建QQ机器人实战篇(一)
  4. 英:常见符号英文读法
  5. 同一工作组无法访问另一计算机,同一工作组无法访问如何解决【详解】
  6. ASP.NET 安全认证(二)
  7. 《问佛》——仓央嘉措
  8. 逻辑斯谛回归logistic regression-最大熵
  9. 书单(三)-从小到大课外阅读书籍顺序
  10. c语言中的各种“零”