傳送門
座標系變換把切比雪夫距離轉化為曼哈頓距離
那麼對於所有的\(x\)座標中,肯定是中位數最優了,\(y\)座標同理
然而有可能這個新的點不合法,也就是說不存在\((x+y,x-y)\)等於新的點,即\(x,y\)奇偶性不同,那麼就找一下這個點周圍的點,找最小的就行了
//minamoto
#include#define r register
#define ll long long
#define inline __inline__ __attribute__((always_inline))
#define fp(i,a,b) for(r int i=(a),i=(b)+1;ii;--i)
#define go(u) for(int i=head[u],v=e[i].v;i;i=e[i].nx,v=e[i].v)
templateinline bool cmin(t&a,const t&b)
using namespace std;
char buf[1<<21],*p1=buf,*p2=buf;
inline char getc()
int read()
const int n=1e5+5;
int dx[n],dy[n],n,x,y;
inline int abs(r int x)
ll dis(r int x,r int y)
int main()
bzoj3210 花神的澆花集會
給你n個點,要你求乙個點,橫縱座標是範圍在0到100000之間的整數,使得該點到所有給定的點的切比雪夫距離最小。n 100000 0 座標範圍 100000 首先兩個點 x1,y1 x2,y2 的切比雪夫距離為ma x x 1 x2 y 1 y2 然後把每個點的座標變成 x y,x y 兩個點切比雪...
bzoj 3210 花神的澆花集會
題意 平面上n個點求一點使所有點到它的切比雪夫距離最小。題解 先把切比雪夫距離轉化成曼哈頓距離 把 x,y 變為 x y,x y 新點間的曼哈頓距離的一半就是原點的切比雪夫距離。曼哈頓距離的兩維沒有聯絡,所以最小的點的橫座標和縱座標可以分開求。很明顯,要使絕對值的和最小,點肯定在中位數上。但是因為x...
bzoj3210 花神的澆花集會
根據網上題解可得 qaq。把座標變成 x y,x y 後,原本的切比雪夫距離就是現在的曼哈頓距離的一半。似乎金組題裡也有道一模一樣的。分別求出橫縱座標的中位數。但如果所取的點的x y奇偶性不同。那在原圖裡是沒有對應點的。所以可能要再試一下旁邊的四個點 1 include2 include3 incl...