Description
给你一个N个点的凸多边形,求离每一个点最远的点。
Input
本题有多组数据,第一行一个数T,表示数据组数。
每组数据第一行一个数N,表示凸多边形点的个数,接下来N对数,依次表示1~N这N个点的坐标,按照逆时针给出。
Output
对于每组数据输出N个数,第i个数表示离第i个点最远的点的编号,如果有多个最远点,输出编号最小的。
Sample Input
1
4
0 0
1 0
1 1
0 1
Sample Output
3
4
1
2
HINT
数据规模和约定
坐标的绝对值在1e9以内;
任意点对距离数值的平方不会超过long long;
令S为每组数据凸多边形点数之和;
对于20%的数据,S<=2000;
对于50%的数据,S<=50000;
对于100%的数据,S<=500000;
数据有梯度。
Source
Claris推荐的神题系列.
感受了一下发现决策是单调的,不过没打表也没证明.
证明可以用四边形不等式,这个我不会,不过可以参考Claris的题解.
#include<iostream>
#include<cstdio>
#include<cstring>
#include<
BZOJ2739:凸多边形最远点求解

这篇博客介绍了如何解决寻找一个凸多边形中每个点最远点的问题。给定一组逆时针排列的点坐标,需要求出每个点对应的最远点编号,确保在坐标值不超过1e9的范围内,且满足特定的数据规模限制。博客中提到,决策过程可能是单调的,但未提供完整的证明,建议参考四边形不等式进行理解。
最低0.47元/天 解锁文章
816

被折叠的 条评论
为什么被折叠?



