十四届noip初赛题 与排序的最小交换次数有关
问题描述:
十四届noip初赛题 与排序的最小交换次数有关
将数组{8,23,4,16,77,-5,53,100}中元素从大到小按顺序排序,每次可以交换任意两个元素,最少要交换( )次.
答
主要思想是动态规划,求出最长的满足要求(从大到小)的数列长度,总长度减去所求出的数列长度即可;
这样的数列是:23,16,-5
然后将其他数插入到这个数列的正确位置即可;比如8应放在16的后面;数列变成
23 16 8 -5
同理,再放其他数,共放5次;放的次数,其实就是与其他数交换的次数