cf div1 692-B
問題
からなる文字列が与えられる.中のを全てに書き換えて得られる文字列に対して、(連続とは限らない)部分列が現れたらコスト、が現れたらコストがかかる.コストの最小値を求めよ.
解法
として一般性を失わない(そうでない場合、をswap,中のをそれぞれに置き換えればよい).
中の全てのを書き換えた後の文字列をとすると、最適なであってを満たす整数組は存在しないようなものが存在する.これはこのような組が存在するとして、とをswapしてもコストが増加しないことが容易にわかるため.
この考察での置き換え方は高々通りに絞られたため、差分を管理していけば最小値が求まる.
考察
とどっちを減らしたいかわからないので一つにそろえたくなる.
なんとなくの順の置き換え方は良くなさそうとわかる.