
BZOJ1338: Pku1981 Circle and Points单位圆覆盖
发布日期:2021-05-06 03:50:31
浏览次数:37
分类:技术文章
本文共 833 字,大约阅读时间需要 2 分钟。
提供一个暴力的想法
极大肯定是两个点在圆周上 然后 O(n3) 暴力吧卡卡常数就过了好吧。。。
其实有个 O(n2lgn) 的解法 主要思路就是对于每个点求包含这个点的最被包含点集 具体看爱神Blog#include#include #include #include #include using namespace std;constdouble r=1;const double pi=acos(-1);const double eps=1e-7;struct Circle{ double x,y; inline void get(){ scanf("%lf%lf",&x,&y);}}P[100001];#define abs(a) ((a)<0?(-(a)):(a))struct Pair{ double bg; int ed; inline friend bool operator <(Pair a,Pair b){ return a.bg 2.0)continue; double T=atan2(P[j].y-P[i].y,P[j].x-P[i].x); T=T<0?T+2*pi:T; double Pt=acos(D/2.0); Cache[++tot]=(Pair){T-Pt+2*pi,false}; Cache[++tot]=(Pair){T+Pt+2*pi,true}; } int sum=0; sort(Cache+1,Cache+1+tot); for(int i=1;i<=tot;i++) if(Cache[i].ed)sum--; else ans=max(ans,++sum); } printf("%d\n",ans+1); } return 0;}
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年03月12日 14时48分11秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
面试别慌!阿里专家带你从【入门+基础+进阶+项目】攻破SpringBoot
2019-03-03
【Java面试】30个 Java 集合面试必备的问题和答案
2019-03-03
干了八年的阿里面试官,给大家分享我面试时最爱问的Java面试题
2019-03-03
华为鸿蒙到底是不是安卓系统套了个壳?
2019-03-03
redis知识点学习
2019-03-03
vue出现sockjs-node/info?t=1462183700002 报错解决方案
2019-03-03
删除mongodb中已存在的用户
2019-03-03
分布式理论基础知识点入门
2019-03-03
SpringCloud之消息总线(Spring Cloud Bus)刷新配置
2019-03-03
多线程之创建线程的两种方式
2019-03-03
fragment中recyclerview的重新加载问题
2019-03-03
集合 List
2019-03-03
设计模式:可复用面向对象软件及基础:3-6 结构型模式:享元模式(FlyWeight)
2019-03-03
window程序设计(1):第一个windows程序
2019-03-03
windows程序设计(4):文本输出
2019-03-03
JZOJ7月20日提高组T2 昂贵的珍珠垂饰
2019-03-03
JZOJ7月29日提高组反思
2019-03-03
21.2.3总结
2019-03-03