单点时限: 2.0 sec
内存限制: 512 MB
给定长度为$ N $的字符串$ S $,要构造一个长度为$ N $的字符串$ T $。起初,$ T $是一个空串,随后反复执行下列两个操作中的任意一个,最终目标是构造字典序尽可能小的字符串$ T $。
操作一:从$ S $的头部取一个字符,加到$ T $的尾部。
操作二:从$ S $的尾部取一个字符,加到$ T $的尾部。
例如:对于S=”ACDBCB”:
第一步:从$S$的头部取一个字符,操作后S=”CDBCB”,T=”A”。
第二步:从$S$的尾部取一个字符,操作后”S=CDBC”,T=”AB”。
第三步:从$S$的尾部取一个字符,操作后”S=CDB”,T=”ABC”。
第四步:从$S$的尾部取一个字符,操作后”S=CD”,T=”ABCB”。
第五步:从$S$的头部取一个字符,操作后”S=D”,T=”ABCBC”。
第六步:从$S$的头部取一个字符,操作后”T=ABCBCD”。
第一行一个整数$ n $,满足$ n \leq 2000$。
第二行一个长度为$ n $的字符串$ S $。
一个长度为$ n $的字符串。
6 ACDBCB
ABCBCD
输入的字符串中可能包含除大写字母外的其他字符。
本题为3038的加强版!