/*將乙個點(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 向移動的最少步數,切比雪夫距離則是...