D - 博覧会 Editorial by Mitsubachi


$w=x+y,v=x-y$ とします。マンハッタン距離である $|x_i-x_j|+|y_i-y_j|$ は $\max \left( |w_i-w_j| , |v_i-v_j| \right)$ と等しいことが知られています。
よって、マンハッタン距離の最大値は $\max \left( \max \left( w\right) - \min \left( w\right) , \max \left( v\right) - \min \left( v\right) \right)$ と表すことができます。

答えを二分探索することを考えます。 $M$ を $A$ 以下とできるかを考えます。 $\max(w)- \min(w) \leq A$ もしくは $\max(v)- \min(v) \leq A$ の場合は1次元の問題となり、これは簡単です。
どちらでもない場合、 $w$ が最大/最小となるものには別々のテーマが割り振られています。 $v$ についても同様なので、条件を満たす割り振り方はいずれかのちょうど $1$ つが成立します。

  • $w$ が最大となるものを含んでいるものが $v$ が最大となるものも含んでいる
  • $w$ が最大となるものを含んでいるものが $v$ が最小となるものも含んでいる
上の条件を満たした上で $M \leq A$ とできるかはそれぞれのテーマを割り振ることのできる領域が簡単にわかるので $O(N)$ で判定できます。

よって \(X= \max(x)-\min(x),Y= \max(y)-\min(y)\) としてこの問題は \(O( N \log (X+Y) )\) で解くことができました。

posted:
last update: