競技プログラミング用 知識集積所
ABC406D - Garbage Removal
最終更新:
sport_programming
-
view
問題
必要知識
B以下レベルの内容は省略
考え方
二次元グリッドにゴミを配置しようとすると、マスの数が多すぎて、グリッドの用意だけでTLEする。
そこで、各行各列ごとに「何番目のマスにゴミがあるか」を管理することにする。
そこで、各行各列ごとに「何番目のマスにゴミがあるか」を管理することにする。
ゴミが何個あるかは、データサイズを見ればよい。
ゴミを取り除くには、その行または列が持っているデータからゴミ位置を復元してやればよい。
ゴミを取り除くには、その行または列が持っているデータからゴミ位置を復元してやればよい。
計算量は、この形式なら各ゴミについて「1回置いて、1回取り除く」の負担があるだけなので何も問題にならない。