排序的代价

Posted 【對策局】

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序的代价相关的知识,希望对你有一定的参考价值。

【题目描述】

有一列数,要对其进行升序排序。排序只能通过交换来实现。每次交换,可以选择这列数中的任意两个,交换他们的位置,并且交换的代价为两个数的和。排序的总代价是排序过程中所有交换代价之和。现要求计算,对于给出的数列,要将其排成升序所需的最小代价。

【输入描述】

第一行输入1个数n,表示这列数共有n(n <= 1000)个数组成;

第二行输入n个互不相同的整数(都是小于1000的正整数),表示这列数。

输入可能包含多组测试数据(少于50组),对于每个输入数据均需要给出对应的输出。

【输出描述】

对于每组输入数据,输出最小代价。

输出格式为“Case t: min”,其中t为数据的编号(从1开始编号),min为这个数据的最小代价。

【样例输入】

3

3 2 1

4

8 1 2 4

【样例输出】

Case 1: 4

Case 2: 17

以上是关于排序的代价的主要内容,如果未能解决你的问题,请参考以下文章

CodeVS 2845 排序的代价

序列排序

排序的基本概念及常见排序算法

orderby工作原理 + 最小代价取随机数

交换最少次使数列有序

排序算法总结 go实现代码