E - Grid Filling Editorial by Kiri8128


\(i\) について、

  • 上から \(i\) 行目までに現れる数の集合
  • 下から \(i\) 行目までに現れる数の集合
  • 左から \(i\) 列目までに現れる数の集合
  • 右から \(i\) 列目までに現れる数の集合

が分かっていると、各クエリはこれらのうち適切な4つを組み合わせて和集合を取れば良いです。 前計算は \(O(HWN)\) 、クエリは各 \(O(N)\) で合計で \(O(HWN)\) です。さらに bitset を使うことで高速化することもできます。

posted:
last update: