P1452 Beauty Contes
题目背景
此处省略1W字^ ^
题目描述
贝茜在牛的选美比赛中赢得了冠军”牛世界小姐”。因此,贝西会参观N(2 < = N < = 50000)个农场来传播善意。世界将被表示成一个二维平面,每个农场位于一对整数坐标(x,y),各有一个值范围在-10000…10000。没有两个农场共享相同的一对坐标。
尽管贝西沿直线前往下一个农场,但牧场之间的距离可能很大,所以她需要一个手提箱保证在每一段旅程中她有足够吃的食物。她想确定她可能需要旅行的最大可能距离,她要知道她必须带的手提箱的大小。帮助贝西计算农场的最大距离。
输入输出格式
输入格式:
第一行:一个整数n
第2~n+1行:xi yi 表示n个农场中第i个的坐标
输出格式:
一行:最远距离的[b]平方[/b]
输入输出样例
- 4
- 0 0
- 0 1
- 1 1
- 1 0
- 2
说明
NONE
- #include<iostream>
- #include<cstdio>
- #include<cstring>
- #include<cmath>
- #include<algorithm>
- #define vec point
- using namespace std;
- const double eps=1e-;
- const int MAXN=;
- int n;
- void read(int &n)
- {
- char c='+';int x=;bool flag=;
- while(c<''||c>''){c=getchar();if(c=='-')flag=;}
- while(c>=''&&c<=''){x=x*+(c-);c=getchar();}
- flag==?n=-x:n=x;
- }
- inline int dcmp(double x)
- {
- if(fabs(x)<eps) return ;
- else return x>?:-;
- }
- struct point
- {
- double x,y;
- inline point(double x=,double y=):x(x),y(y){};
- }p[MAXN],ch[MAXN];
- vec operator - (vec a,vec b) {return vec(a.x-b.x,a.y-b.y);}
- vec operator + (vec a,vec b) {return vec(a.x+b.x,a.y+b.y);}
- vec operator == (vec a,vec b){return (dcmp(a.x-b.x)==&&dcmp(a.y-b.y)==);}
- int comp(const point &a,const point &b)
- {
- if(a.x==b.x) return a.y<b.y;
- else return a.x<b.x;
- }
- int stack[MAXN];
- double cross(vec a,vec b){return a.x*b.y-a.y*b.x;}
- int convex_hull()
- {
- sort(p+,p+n+,comp);
- int top=;
- for(int i=;i<=n;i++)
- {
- while(top>&& dcmp(cross(ch[top-]-ch[top-], p[i]-ch[top-]))<=) top--;
- ch[top++]=p[i];
- }
- int tmp=top+;
- for(int i=n-;i>=;i--)
- {
- while(top+>tmp&& dcmp(cross(ch[top-]-ch[top-], p[i]-ch[top-]))<=) top--;
- ch[top++]=p[i];
- }
- if(n>) top--;
- return top;
- }
- int dis(point a,point b)
- {
- return ((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
- }
- int main()
- {
- //freopen("fc.in","r",stdin);
- //freopen("fc.out","w",stdout);
- read(n);
- //ios::sync_with_stdio(0);
- for(int i=;i<=n;i++)
- {
- double a,b;
- cin>>a>>b;
- p[i]=point(a,b);
- }
- int num=convex_hull();
- int ans=;
- for(int i=;i<=num;i++)
- for(int j=;j<=num;j++)
- ans=max(ans,(int) dis(ch[i],ch[j]));
- printf("%d",ans);
- return ;
- }
P1452 Beauty Contes的更多相关文章
- P1452 Beauty Contes(旋转卡壳版)
题目背景 此处省略1W字^ ^ 题目描述 贝茜在牛的选美比赛中赢得了冠军”牛世界小姐”.因此,贝西会参观N(2 < = N < = 50000)个农场来传播善意.世界将被表示成一个二维平面 ...
- 洛谷 P1452 Beauty Contest 解题报告
P1452 Beauty Contest 题意 求平面\(n(\le 50000)\)个点的最远点对 收获了一堆计算几何的卡点.. 凸包如果不保留共线的点,在加入上凸壳时搞一个相对栈顶,以免把\(n\ ...
- [洛谷P1452]Beauty Contest
题目大意:给你$n$个点,求出其中最远点的距离 题解:求出凸包,最远点一定都在凸包上,可以对每条边求出最远的点(可以双指针),然后求出和这条边的端点的距离,更新答案 卡点:最开始对每个点求出最远点,但 ...
- 洛谷 P1452 Beauty Contest
题目背景 此处省略1W字^ ^ 题目描述 贝茜在牛的选美比赛中赢得了冠军”牛世界小姐”.因此,贝西会参观N(2 < = N < = 50000)个农场来传播善意.世界将被表示成一个二维平面 ...
- P1452 Beauty Contest 旋转卡壳
\(\color{#0066ff}{题目描述}\) 贝茜在牛的选美比赛中赢得了冠军"牛世界小姐".因此,贝西会参观N(2 < = N < = 50000)个农场来传播善 ...
- P1452 Beauty Contest
传送门 求凸包周长,用旋转卡壳,具体可见yyb大佬的博客 顺便一提这题暴力+随机化也能过 暴力代码 //minamoto #include<bits/stdc++.h> #define r ...
- 计算几何细节梳理&模板
点击%XZY巨佬 向量的板子 #include<bits/stdc++.h> #define I inline using namespace std; typedef double DB ...
- 【洛谷 P1452】 Beauty Contest (二维凸包,旋转卡壳)
题目链接 旋转卡壳模板题把. 有时间再补总结吧. #include <cstdio> #include <cmath> #include <algorithm> u ...
- luogu P1452 [USACO03FALL]Beauty Contest G /【模板】旋转卡壳
LINK:旋转卡壳 如题 是一道模板题. 容易想到n^2暴力 当然也能随机化选点 (还真有人过了 考虑旋转卡壳 其实就是对于某个点来说找到其最远的点. 在找的过程中需要借助一下个点的帮助 利用当前点到 ...
随机推荐
- oracle刚開始学习的人经常使用操作100问
oracle刚開始学习的人经常使用操作100问 1. Oracle安装完毕后的初始口令? internal/oracle sys/change_on_install system/manager ...
- Compiler Warning (level 2) CS0436
https://docs.microsoft.com/en-us/dotnet/csharp/misc/cs0436 // CS0436_a.cs // compile with: /target:l ...
- nyoj--84--阶乘的0(数学技巧)
阶乘的0 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 计算n!的十进制表示最后有多少个0 输入 第一行输入一个整数N表示测试数据的组数(1<=N<=100 ...
- (转载) Android RecyclerView 使用完全解析 体验艺术般的控件
Android RecyclerView 使用完全解析 体验艺术般的控件 标签: Recyclerviewpager瀑布流 2015-04-16 09:07 721474人阅读 评论(458) 收藏 ...
- (转载) 据说年薪30万的Android程序员必须知道的
据说年薪30万的Android程序员必须知道的帖子 标签: android 2015-03-12 16:52 28705人阅读 评论(14) 收藏 举报 Android中国开发精英 目前包括: And ...
- HTML基础——网站图片显示页面
1.图片标签 <img /> 属性: src:指的是图片显示的路径(位置) 绝对路径:D:\Pictures\Saved Pictures 相对路径: ①同一级:直接写文件名称或者./文件 ...
- FCC编程题之中级算法篇(中)
介绍 接着上次的中级算法题 目录 1. Missing letters 2. Boo who 3. Sorted Union 4. Convert HTML Entities 5. Spinal Ta ...
- 转义JavaScript特殊字符
JavaScriptUtils.javaScriptEscape("%admin' or '1=1") //转义JavaScript特殊字符
- [转载]PyCharm创建.py自动添加文件头注释
转自:https://blog.csdn.net/qq_36482772/article/details/67218214 创建.py文件时 顺便自动添加作者.时间.文件名信息…… mac系统打开编辑 ...
- Python ftplib 模块关于 ftp的下载
import ftplib import os import socket import sys HOST='192.168.216.193' DIRN='c:\\ftp\FTP.123' FILE= ...