【AFOI-19】数码排序
题目背景
小L从虚拟世界里出来啦!
加强版链接
题目描述
逃出来的同时,也有一部分数码逃了出来,吵着闹着让小L帮他们排序
虚拟世界的数码都是不可见的
小L目前只会选择排序,插入排序,冒泡排序,归并排序
所以小L想问他在最坏情况下最少需要几次比较,才能使序列有序
输入格式
输入仅有一行,给定一个正整数 n n n,表示序列的长度
输出格式
输出最小的比较次数
样例 #1
样例输入 #1
4
样例输出 #1
5
样例 #2
样例输入 #2
5
样例输出 #2
8
提示
- 样例 1 1 1解释
长度为 4 4 4的序列归并调用,分成 2 2 2组,一组 2 2 2个元素。 2 2 2个元素分别比较一次, 合并时最坏比较 3 3 3次,所以是 3 + 1 + 1 = 5 3+1+1=5 3+1+1=5。
- 数据范围
对于 10 % 10\% 10%的数据, n ≤ 1000 n \leq 1000 n≤1000
对于 30 % 30\% 30%的数据, n ≤ 1000000 n \leq 1000000 n≤1000000
对于 100 % 100\% 100%的数据, n ≤ 1 0 16 n \leq 10^{16} n≤1016
数据保证随机
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容