贪心:首先注意题目说这个数列肯定是1-n的一个全排列。那么说明这个数列一开始的数都是1~n中的,并且最小的是1.那么,很显然最后的结果肯定全部为1.因为想要替换为全部都一样,且每次替换都是在变小,那么最后肯定是全部为1才能实现.所以我们直接用1去替换更优.为什么呢?因为如果用其他的数去替换,最终还是要被替换成1,这样还多了不必要的中间替换步数.所以可知用1替换更优.那么就枚举一开始的那段区间,然后不断向左向右延伸,最后比较其中最小的即可. int a[N]; int main() { int n,k,pos,ans = INF;sdd(n,k); for(int i=1;i&l...