#Z01890. 反向排序
反向排序
题目描述
Bob有一个长度为n的二进制数s,现在他想对此二进制数进行以下操作,使得二进制转为十进制后的数字最小。如果有多种操作方法能得到这个最小值,则取操作次数最小的方法。
操作一:选取二进制中的一串子序列(子序列长度要尽可能小),对此进行降序操作。
操作二:选取二进制中的一串子序列(子序列长度要尽可能小),对此进行翻转操作。
输入格式
第一行输入一个正整数 t ( 1
每个测试用例输入两行
第一行输入一个正整数 n ( 1
第二行输入一行长度为 n 的二进制字符串 s , 其中只包含 0 和 1
输出格式
第一行输出选取方案的操作次数
第二行先输出操作的子序列长度,紧跟在后输出操作的子序列在 s 中的各个字符位置
3
7
0011111
5
10100
6
001000
0
1
4 1 3 4 5
1
2 3 6
豫公网安备41072702000346号