【POJ2187】Beauty Contest【旋转卡壳】
来源:互联网 发布:迈普1800抹除数据 编辑:程序博客网 时间:2024/04/29 05:19
【题目链接】
学习一发旋转卡壳。
/* Telekinetic Forest Guard */#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int maxn = 50005;int n, m;struct Vector {int x, y;Vector(int a = 0, int b = 0) {x = a; y = b;}bool operator < (const Vector &a) const {return x != a.x ? x < a.x : y < a.y;}Vector operator - (const Vector &a) {return Vector(x - a.x, y - a.y);}} p[maxn], cov[maxn];inline int cross(Vector a, Vector b) {return a.x * b.y - a.y * b.x;}inline int dis(Vector a, Vector b) {return (a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y);}inline void Andrew() {sort(p + 1, p + 1 + n);m = 0;for(int i = 1, k = 1; i <= n; i++) {for(; m > k && cross(cov[m] - cov[m - 1], p[i] - cov[m - 1]) <= 0; m--);cov[++m] = p[i];}for(int i = n - 1, k = m; i; i--) {for(; m > k && cross(cov[m] - cov[m - 1], p[i] - cov[m - 1]) <= 0; m--);cov[++m] = p[i];}if(n > 1) m--;}inline int rotcov() {int res = 0;for(int i = 1, j = 2; i <= m; i++) {for(; cross(cov[i + 1] - cov[i], cov[j] - cov[i]) < cross(cov[i + 1] - cov[i], cov[j + 1] - cov[i]); j == m ? j = 1 : j++);res = max(res, max(dis(cov[i], cov[j]), dis(cov[i + 1], cov[j + 1])));}return res;}int main() {scanf("%d", &n);for(int i = 1; i <= n; i++) scanf("%d%d", &p[i].x, &p[i].y);Andrew();printf("%d\n", rotcov());return 0;}
0 0
- 【旋转卡壳】Beauty Contest POJ2187
- 【POJ2187】Beauty Contest【旋转卡壳】
- POJ2187 Beauty Contest 凸包+旋转卡壳
- POJ2187 Beauty Contest(旋转卡壳)
- poj2187 Beauty Contest 凸包+旋转卡壳
- poj2187 Beauty Contest(旋转卡壳)
- 旋转卡壳 模板 【poj2187】Beauty Contest
- 【POJ2187】Beauty Contest-凸包+旋转卡壳
- [Poj2187]Beauty Contest (旋转卡壳求最远点对)
- [POJ2187]Beauty Contest(凸包+旋转卡壳)
- poj2187——Beauty Contest(凸包+旋转卡壳)
- POJ2187:Beauty Contest(凸包 & 旋转卡壳)
- POJ2187 Beauty Contest(最远点对,凸包+旋转卡壳)
- POJ2187-Beauty Contest- 最远点对问题(凸包+旋转卡壳)
- poj2187-Beauty Contest 求凸包最远距离(旋转卡壳算法模板题)
- POJ2187 Beauty Contest(旋转卡壳,求凸包中任意两点的距离)
- Poj 2187 Beauty Contest(旋转卡壳)
- poj 2187 Beauty Contest(旋转卡壳)
- iOS CocoaPods 报错: The dependency `UMengSocialCOM (~> 5.2.1)` is not used in any concrete target.
- 宾语从句-名词性从句(基础)
- 标日初上-第2課
- mjpg-stream移植到FL2440平台
- HTTP状态码详解
- 【POJ2187】Beauty Contest【旋转卡壳】
- python---numpy安装问题
- 旋转的定时器动画
- 【蓝桥杯】网络寻路
- C++ extern static
- C++实践参考:排序函数模板
- redis 持久化的两种方式
- mysqld启动“ Can't start server: Bind on TCP/IP port: Address already in use Do you already have anothe
- [论文阅读]R-FCN: Object Detection via Region-based Fully Convolutional Networks