pyramid - 貫きピラミッド (Pyramid) Editorial by kusaf_


石が多く積み上がっている区画から順に幅優先探索を行い,各区画の石の数を求めることで解くことができます。
この際,最も高いピラミッドを除く各ピラミッドの頂点の情報を,最初にまとめてではなくその高さが探索され始めてから queue に入れることで priority_queue を使わずに実装でき,計算量を削減できます。
計算量は \(O(HW+N)\) です。
実装例(C++20, 259ms)

posted:
last update: