题目名称 3937. [YNOI2019] 排序
输入输出 sort.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarop_组撒头屯 于2023-11-03加入
开放分组 全部用户
提交状态
分类标签
动态规划 树状数组 线段树
分享题解
通过:3, 提交:25, 通过率:12%
Gravatarムラサメ 100 0.697 s 1.63 MiB C++
Gravatar┭┮﹏┭┮ 100 1.874 s 83.55 MiB C++
Gravatar小金 100 1.966 s 83.56 MiB C++
Gravatarムラサメ 80 0.537 s 4.83 MiB C++
Gravatarムラサメ 80 2.065 s 5.93 MiB C++
Gravatar宇战 80 2.071 s 5.81 MiB C++
Gravatar小金 80 2.073 s 5.81 MiB C++
Gravatar黄天宇 80 2.084 s 5.81 MiB C++
Gravatar黄天乐 80 2.085 s 5.81 MiB C++
Gravatarムラサメ 20 0.475 s 4.77 MiB C++
本题关联比赛
NOIP2023模拟赛5
关于 排序 的近10条评论(全部评论)
$O(n^2)$ DP后2个点会T,要用数状数组/线段树维护
Gravatarムラサメ
2023-11-17 16:06 2楼
没有离散化的后果(慢的一批)
Gravatar┭┮﹏┭┮
2023-11-17 14:06 1楼

3937. [YNOI2019] 排序

★★   输入文件:sort.in   输出文件:sort.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

对于一个数列 $\{7,1,2,3\}$ 进行排序,我们可以把 $7$ 从头移动到尾。但是这个操作的成本是 $7$,并不是最佳的。最佳的排序方式是将连续的 $1,2,3$ 移动到 $7$ 的前面。这样的话,总的操作成本就是 $1+2+3=6$,比之前的成本 $7$ 要小。

你的任务是,对于一个给定的数列,输出对这个数列进行排序的最小成本。

【输入格式】

每个输入文件包含多组数据。

输入文件的第一行,包含一个正整数 $T$,代表该输入文件中所含的数据组数。

接下来是 $T$ 组数据,每组数据的格式如下:

每组数据包含 $2$ 行;

第一行包含一个正整数 $n$,代表数列中元素的个数。

第二行包含 $n$ 个整数,两个数之间以一个空格隔开,代表数列中的元素 $k_i$。

【输出格式】

输出文件包含 $T$ 行,分别对应 $T$ 组数据的答案,即对数列进行排序的最小成本。

【样例输入】

1
4
7 1 2 3

【样例输出】

6

【数据规模与约定】

对于 $20\%$ 的数据:$0 \lt n \le 20$。

对于 $80\%$ 的数据:$0 \lt n \le 1000$。

对于 $100\%$ 的数据:$0 \lt n \le 10^5,0 \lt k_i \le 10^7,T \le 10$。