アットウィキロゴ
競技プログラミング用 知識集積所
掲示板 掲示板 ページ検索 ページ検索 メニュー メニュー

競技プログラミング用 知識集積所

ABC437F - Manhattan Christmas Tree 2

最終更新:

sport_programming

- view
管理者のみ編集可


問題


必要知識

B以下レベルの内容は省略

考え方

マンハッタン距離は、そのまま扱ってもよいが、45度座標回転※して√2倍に拡大すると、チェビシェフ距離になるので扱いやすくなる。
つまり、(x,y)を(x-y,x+y)に変換すると扱いやすい。

その上で、L番からR番までで最も遠いチェビシェフ距離を考えるには、それらのツリーの座標の上下左右の最大値や最小値を求めることになる。
これはsegment木※に範囲データを載せる(または、方向ごとに4つsegment木※を用意する)ことで更新と取得の両立が可能。
あとは実装力勝負。

解答例


注意点

答えにはlong long型を用いる

マイナス側も10^9までありえる関係で、答えが最大4*10^9になる。
long long型にすること。(unsigned intでもよい)

別解

最近更新されたスレッド
ウィキ募集バナー