公式

B - モグラの穴 / Mole Holes 解説 by admin

swe-2-high

このプログラムは、文字列 \(S\) を左から見て、文字が # なら現在の連続長 \(cur\) を \(1\) 増やし、. なら \(0\) に戻します。# を読むたびに \(cur\) は、その位置で終わる連続した穴の個数です。各連続区間は末尾の # で正確な長さになるので、その都度 \(best\) を更新すれば最大値が残ります。穴がなければ \(best\) は \(0\) のままです。\(S\) を一度走査するので時間計算量は \(O(N)\)、入力文字列を保存するので空間計算量は \(O(N)\) です。