CF1730F Almost Sorted

题目描述

给定一个长度为 $n$ 的排列 $p$ 和一个正整数 $k$。请考虑一个长度为 $n$ 的排列 $q$,使得对于任意整数 $i$ 和 $j$,其中 $1 \le i < j \le n$,都有 $$ p_{q_i} \le p_{q_j} + k。 $$ 请你求出排列 $q$ 的逆序对数的最小可能值。 一个排列是由 $n$ 个 $1$ 到 $n$ 的不同整数组成的数组,顺序任意。例如,$[2,3,1,5,4]$ 是一个排列,但 $[1,2,2]$ 不是排列($2$ 出现了两次),$[1,3,4]$ 也不是排列($n=3$ 但出现了 $4$)。 在一个排列 $a$ 中,逆序对是指一对下标 $i$ 和 $j$($1 \le i < j \le n$),满足 $a_i > a_j$。

输入格式

第一行包含两个整数 $n$ 和 $k$($1 \le n \le 5000$,$1 \le k \le 8$)。 第二行包含 $n$ 个互不相同的整数 $p_1, p_2, \ldots, p_n$($1 \le p_i \le n$)。

输出格式

输出排列 $q$ 的逆序对数的最小可能值。

说明/提示

在第一个样例中,唯一的排列是 $q = [1]$($0$ 个逆序对)。此时 $p_{q_1} = 1$。 在第二个样例中,唯一有 $1$ 个逆序对的排列是 $q = [1, 3, 2]$。此时 $p_{q_1} = 2$,$p_{q_2} = 1$,$p_{q_3} = 3$。 在第三个样例中,其中一个有 $6$ 个逆序对的排列是 $q = [3, 4, 5, 1, 2]$。此时 $p_{q_1} = 3$,$p_{q_2} = 2$,$p_{q_3} = 1$,$p_{q_4} = 5$,$p_{q_5} = 4$。 由 ChatGPT 4.1 翻译