POJ2187Beauty Contest
来源:互联网 发布:淘宝网2017女装冬装 编辑:程序博客网 时间:2024/05/19 23:15
POJ2187
平面最远点对裸题。
来填坑了QAQ。
(求完凸包暴力都能过差评)
【代码】
#include <cstdio>#include <iostream>#include <cstring>#include <algorithm>#define N 50005using namespace std;typedef long long ll;ll read(){ ll x=0,f=1;char ch=getchar(); while(!isdigit(ch)){if(ch=='-')f=-1;ch=getchar();} while(isdigit(ch)){x=(x<<1)+(x<<3)+ch-'0';ch=getchar();} return x*f;}int n,top;class Node{ public: double x,y; Node(){} Node(double xx,double yy){ x=xx,y=yy; }}e[N],q[N];bool operator <(Node a,Node b){ return a.x<b.x||(a.x==b.x&&a.y<b.y);}Node operator -(Node a,Node b){ return Node(a.x-b.x,a.y-b.y);}double cross(Node a,Node b){ return a.x*b.y-a.y*b.x;}void Andrew(){ sort(e+1,e+1+n); q[++top]=e[1]; for(int i=2;i<=n;i++) { while(top>1&&cross(q[top]-q[top-1],e[i]-q[top-1])<=0) top--; q[++top]=e[i]; } int k=top; for(int i=n-1;i;i--) { while(top>k&&cross(q[top]-q[top-1],e[i]-q[top-1])<=0) top--; q[++top]=e[i]; }}double ans;double Dis(Node a,Node b){ return (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y);}void Rc(){ int s=2; for(int i=1;i<top;i++) { while(cross(q[i+1]-q[i],q[s]-q[i])<cross(q[i+1]-q[i],q[s+1]-q[i+1])) s=s%(top-1)+1; ans=max(ans,max(Dis(q[s],q[i]),Dis(q[s+1],q[i+1]))); } printf("%d\n",(int)ans);}int main(){ n=read(); for(int i=1;i<=n;i++) e[i].x=read(),e[i].y=read(); Andrew(); Rc(); return 0;}
0 0
- POJ2187Beauty Contest
- POJ2187Beauty Contest(求凸多边形直径)
- 旋转卡壳找凸包直径解poj2187Beauty Contest
- poj2187Beauty Contest 凸包最大距离
- 计算几何入门4--poj2187Beauty Contest
- Contest
- POJ2187Beauty Contes【凸包Graham+旋转卡壳求凸包直径+排除共线】
- Contest Scoreboard
- following contest
- Beauty Contest
- Harmonious Contest
- Harmonious Contest
- Cow Contest
- Cow Contest
- poj3660Cow Contest
- POJ3660Cow Contest
- A. Contest
- Cow Contest
- unity中的灯光烘焙问题lightMap
- SQL将用户表中已存在的数据所有姓名(汉字)转换为拼音首字母
- [一周一译]脸书正在吞并世界
- 矩阵类
- Android 获取电池信息
- POJ2187Beauty Contest
- Android打包动态配置签名
- [Hybris]Hybris6.3环境搭建
- python3实战|python3爬取豆瓣top250备份到数据库
- 初学MyBatis
- getIntent().getExtras().getString()为null的问题
- HTTP和SOAP完全就是两个不同的协议
- Method createStream([class org.apache.spark.streaming.api.java.JavaStreamingContext, class java.uti
- python错误:TypeError: 'module' object is not callable