atcoder#ABC286C. [ABC286C] Rotate and Palindrome
[ABC286C] Rotate and Palindrome
题目描述
長さ の文字列 が与えられます。 を の左から 番目の文字とします。
あなたは以下の 種類の操作を好きな順番で 回以上好きな回数行うことができます。
- 円払う。 の左端の文字を右端に移動する。すなわち、 を に変える。
- 円払う。 以上 以下の整数 を選び、 を好きな英小文字で置き換える。
を回文にするためには最低で何円必要ですか?
回文とは ある文字列 について、 の長さを として、全ての整数 () について、 の前から 文字目と後ろから 文字目が同じであるとき、またそのときに限って、 は回文です。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
答えを整数として出力せよ。
题目大意
给出一个字符串,有两种操作:
- 花费 A ,把串的第一位放到最后一位
- 花费 B ,修改串的一个字母
求把原串变成回文串的最小代价。
输入: 先输入 ,第二行字符串
5 1 2
rrefa
3
8 1000000000 1000000000
bcdfcgaa
4000000000
提示
制約
- は英小文字からなる長さ の文字列
- 以外の入力は全て整数
Sample Explanation 1
最初に 番目の操作を 回行います。 円払い、 として を e
で置き換えます。 は rrefe
となります。 次に 番目の操作を 回行います。 円払い、 は refer
となります。これは回文です。 よって 円払うことで を回文にすることができました。 円以下払うことで を回文にすることは不可能なので、これが答えです。
Sample Explanation 2
答えは bit 整数に収まらない場合があることに注意してください。