atcoder#AGC037E. [AGC037E] Reversing and Concatenating

[AGC037E] Reversing and Concatenating

题目描述

高橋君は英小文字からなる長さ N N の文字列 S S を持っています。 高橋君は S S に対して以下の操作を K K 回行うことにしました。

  • S S を反転した文字列を T T として、S S T T をこの順に連結して得られる文字列を U U とする。
  • ある U U の連続する長さ N N の部分文字列を S S' として、S S S S' で置き換える。

最終的な S S として考えられる文字列の内、辞書順で最小のものを求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N K K S S

输出格式

最終的な S S として考えられる文字列の内、辞書順で最小のものを出力せよ。

题目大意

给定一个长度为 nn 的只包含小写字母的字符串 ss 和正整数 kk , 求进行 kk 次如下操作后:

ssss 的翻转拼接(ss 在前)得到 tt , 从 tt 中截取长度为 nn 的子串作为新的 ss.

字典序最小的 ss .

n5000,k109n\leqslant 5000,k\leqslant 10^9

5 1
bacba
aabca
10 2
bbaabbbaab
aaaabbaabb

提示

制約

  • 1  N  5000 1\ ≦\ N\ ≦\ 5000
  • 1  K  109 1\ ≦\ K\ ≦\ 10^9
  • S=N |S|=N
  • S S は英小文字からなる

Sample Explanation 1

S= S= bacbaのとき、T= T= abcab, U= U= bacbaabcabであるので S= S'= aabcaとするのが最適です。