CF1864B Swap and Reverse

题目描述

本题共有 $t$ 组数据。 给定一个长度为 $n$ 的字符串 $s$ 和一个整数 $k$,$s$ 只包含小写字母,你可以进行若干次操作(可以是零次),具体操作如下: - 选取一个 $i$($1\le i\le n-2$),交换 $a_i$ 和 $a_{i+2}$ - 选取一个 $i$($1\le i\le n-k+1$),翻转区间 $s_{[i,i+k-1]}$。如果 $s=s_1,s_2,\dots,s_{i-1},s_i,s_{i+1},\dots,s_{i+k-2},s_{i+k-1},s_{i+k},\dots,s_{n-1},s_n$,可将其改为:$s=s_1,s_2,\dots,s_{i-1},s_{i+k-1},s_{i+k-2},\dots,s_{i+1},s_i,s_{i+k},\dots,s_{n-1},s_n$ 输出经过若干次操作后得到的的按字典顺序排列的最小字符串。

输入格式

第一行包含一个正整数 $t$,具体含义见上。 第二行包含两个正整数 $n$ 和 $k$。 接下来一行 包含一个长度为 $n$ 的字符串 $s$。

输出格式

对于每个测试用例,在进行若干次操作后输出按字典顺序排列的最小字符串。

说明/提示

$1\le t\le10^4,1\le k\le n\le10^5$。 Translate by @[Moss\_spresd](https://www.luogu.com.cn/user/718169)