P3964 松鼠聚會(切比雪夫距離模板)

2021-09-25 06:01:48 字數 801 閱讀 5203

/*將乙個點(x,y )的座標變為(x+y,x-y )後,原座標系中的曼哈頓距離 = 新座標系中的切比雪夫距離

將乙個點(x,y )的座標變為( (x+y)/2,(x-y)/2 )後,原座標系中的切比雪夫距離 = 新座標系中的曼哈頓距離

切比雪夫距離 = max( dx,dy )*/

#include using namespace std;

typedef long long ll;

typedef long long lint;

const lint maxn = 100005;

void trans( lint& x,lint& y )

vectorvex,vey;

struct point

}a[maxn];

ll sumx[maxn],sumy[maxn];

int main()

sort(vex.begin(),vex.end());

sort(vey.begin(),vey.end());

sumx[0]= vex[0];

for( lint i = 1;i < vex.size();i++ )

sumy[0]=vey[0];

for( lint i = 1;i < vey.size();i++ )

ll ans= 0x3f3f3f3f3f3f3f3f;

for( lint i = 1;i <= n;i++ )

printf("%lld\n",ans/2);

return 0;

}

松鼠搬家 切比雪夫距離 到 曼哈頓距離

題意 求切比雪夫距離 直接求不好求,可以轉化成曼哈頓距離 切比雪夫 d max x 1 x 2 y 1 y 2 曼哈頓距離 d x 1 x 2 y 1 y 2 d max x 1 x 2 y 1 y 2,x 1 x 2 y 2 y 1,x 2 x 1 y 1 y 2,x 2 x 1 y 2 y 1 ...

切比雪夫距離

切比雪夫距離是什麼呢?假設有兩個點,a x,y b m,n 那麼這兩個點的切比雪夫距離就是max x m y n 然而它有什麼卵用嗎?我也不知道 然而它可以轉化為曼哈頓距離,這就非常6了.用了乙個非常神奇的思想.我們把座標系順時針旋轉45 這個點到原點的距離是固定的,然後我們用和角公式,這個點的座標...

切比雪夫距離

若點 a x 1,y 1 b x 2,y 2 則兩點間的曼哈頓距離為 x 1 x 2 y 1 y 2 已知 n 個點求兩兩之間的曼哈頓距離之和,易得 x 的貢獻與 y 的貢獻是分開的 可以用兩次排序去絕對值 字首和解決 複雜度 o n log n 曼哈頓距離是 4 向移動的最少步數,切比雪夫距離則是...