CF2003E1.Turtle and Inversions (Easy Version)

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

这是题目的简化版本。这两种题目的区别在于对于 mm 的限制及在简化版本中,满足 ri<li+1r_i < l_{i + 1} 对于每个 ii 从 11 到 m−1m-1。只有当两个版本的问题都被解决后,才可以进行 hack。

海龟给了你 mm 个区间 [l1,r1],[l2,r2],…,[lm,rm][l_1, r_1], [l_2, r_2], \ldots, [l_m, r_m]。他认为一个排列 pp 是有趣的,如果对于每个区间存在一个整数 kik_i 满足 li≤ki<ril_i \le k_i < r_i,那么对于每个从 11 到 mm 的整数 ii,可以计算出 ai=max⁡j=likipja_i = \max\limits_{j = l_i}^{k_i} p_j 和 bi=min⁡j=ki+1ripjb_i = \min\limits_{j = k_i + 1}^{r_i} p_j,使得以下条件成立:

max⁡i=1mai<min⁡i=1mbi\max\limits_{i = 1}^m a_i < \min\limits_{i = 1}^m b_i

海龟希望你计算出长度为 nn 的所有有趣排列中能获得的最大逆序对数量,或者告诉他是否没有这样的有趣排列。

排列 pp 的逆序对是指任意两个整数对 (i,j)(i, j)(1≤i<j≤n1 \le i < j \le n)且满足 pi>pjp_i > p_j。

输入格式

每组数据包含多个测试用例。第一行是测试用例的数量 tt(1≤t≤1031 \le t \le 10^3)。每个测试用例的描述如下。

对于每个测试用例,第一行有两个整数 n,mn, m(2≤n≤5⋅103,0≤m≤n22 \le n \le 5 \cdot 10^3, 0 \le m \le \frac{n}{2}),分别表示排列的长度和区间的数量。

接下来的 mm 行,每行包含两个整数 li,ril_i, r_i(1≤li<ri≤n1 \le l_i < r_i \le n),表示第 ii 个区间。

注意:本版本输入确保 ri<li+1r_i < l_{i + 1} 对于每个从 11 到 m−1m-1 的 ii。

所有测试用例中 nn 的总和不超过 5⋅1035 \cdot 10^3。

输出格式

对于每个测试用例,如果没有有趣的排列,输出 −1-1。否则,输出一个整数,表示最大逆序对的数量。

输入输出样例

  • 输入#1

    6
    2 0
    2 1
    1 2
    5 1
    2 4
    8 2
    1 4
    6 8
    7 2
    1 3
    4 7
    7 3
    1 2
    3 4
    5 6

    输出#1

    1
    0
    8
    21
    15
    15

说明/提示

在第三个测试用例中,最大逆序对数量的有趣排列是 [5,2,4,3,1][5, 2, 4, 3, 1]。

在第四个测试用例中,最大逆序对数量的有趣排列是 [4,8,7,6,3,2,1,5][4, 8, 7, 6, 3, 2, 1, 5]。这时可以设定 [k1,k2]=[1,7][k_1, k_2] = [1, 7]。

在第五个测试用例中,最大逆序对数量的有趣排列是 [4,7,6,3,2,1,5][4, 7, 6, 3, 2, 1, 5]。

在第六个测试用例中,最大逆序对数量的有趣排列是 [4,7,3,6,2,5,1][4, 7, 3, 6, 2, 5, 1]。

本翻译由 AI 自动生成

输入解题思路,AI测评打分。不知道怎么写?

首页