这道题没有一个比较详细的题解,我来提供一份. 首先我们可以知道,反转区间的顺序对结果没有影响,而且一个区间如果翻转两次以上是没有意义的,所以,问题就变成了求哪些区间需要反转. 我们枚举k.对于每一个k,我们设计一个calc函数来判断k的操作次数. 显然的,我们可以设计出一种方法,就是每一次都检查最左端,然后进行反转,很容易写出下面的calc函数. int calc(int k) { int ans = 0; int i; for(i = 1; i + k - 1 <= N; i++) { if(…