きろく

特筆すべき記録のまとめ

AtCoder Grand Contest 032:A - Limited Insertion

問題

atcoder.jp

解法

前から操作を見るのは実は困難なので,後ろから見ていく.このとき,問題は「場所 i で数字 i を消すことができる.この消し方とは?」と言い換えられる.また,消す場所は消せる場所の中で一番右がよい.なぜならば,一番右でないところで消してしまうと場所 i よりも左に数字 i より大きい数字が存在してしまう状態になりかねず,操作を完了できなくなってしまうから.この動作を繰り返せば操作の逆が求まる.もし,数列が空でないのにどの数字も取り出せなくなったら,答えは -1 となる.答えはこれを反対に出力すればよい.O(N^2).

解答

atcoder.jp

f:id:babcs2035:20190324222219p:plain