Codeforcs educational round 96 [逆序对]E. String Reversal
交换相邻位置首先想到的是逆序对!
回想冒泡排序,交换次数 = 逆序对 的个数原字符串的位置可以看作一个有序序列,如
a a a z a
1 2 3 4 5
反转之后的序列为:
a z a a a
对每个位置应该选择原串更靠前的位置,这样对逆序对的贡献最小故应该为:
1 4 2 3 5
将问题转化为求逆序对的个数!
#include<iostream>
#include<vector>
#define pb push_back
typedef long long ll;
using
原创
2020-10-13 13:48:19 ·
144 阅读 ·
0 评论