摘要:
对于一个串,我们可以这样考虑,首先我们从串的最后面开始向前遍历。对于一个串是 "XXXXAA",那么对于后面这两个A,我们是不用做任何考虑的,我们甚至可以直接认为这个串没有后面这两位。对于一个串是 "XXXXBB",那么我们是一定要选择反转的,因为单次操作的话将这两个(或者多个)B变成A需要两次操作,而我们通过翻转整个串,再翻转前N-2个串同样可以达到这个效果。但是我们翻转整个串可能为前面的字符串改变作了贡献。对于一个串是 "XXXXAB",那么我们是一定进行单个字符替换的。我们可以这样考虑,如果我们通过一次翻转操作来改变最后面的这一 阅读全文
摘要:
这题数据范围小,就直接暴力了,没什么好讨论的了。代码如下:#include <cstdlib>#include <cstring>#include <cstdio>#include <algorithm>using namespace std;int N, M, seq[150];int main(){ int ret; while (scanf("%d %d", &N, &M) == 2) { ret = 0; for (int i = 1; i <= N; ++i) { scanf("%d& 阅读全文