CF2140D.A Cruel Segment's Thesis

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

给你 nn 个在数轴上的线段,第 ii 条线段表示为 [li,ri][l_i, r_i]。初始时,所有线段都是未标记的。

你将不断重复以下操作,直到没有未标记的线段为止:

  1. 在第 kk 次操作中,如果目前有至少两条未标记的线段,任选两条未标记的线段 [li,ri][l_i, r_i] 和 [lj,rj][l_j, r_j],将这两条线段都标记,并新增一条满足以下条件的标记线段 [xk,yk][x_k, y_k]:
    • li≤xk≤ril_i \leq x_k \leq r_i,
    • lj≤yk≤rjl_j \leq y_k \leq r_j,
    • xk≤ykx_k \leq y_k。
  2. 如果只剩一条未标记的线段,则将其标记。

你的任务是求出执行完所有操作后,所有标记线段的长度之和的最大可能值。注意,线段 ([l,r])([l, r]) 的长度为 r−lr-l。

输入格式

每个测试点包含若干组测试数据。第一行为测试组数 tt(1≤t≤1041 \le t \le 10^4)。每组测试数据描述如下:

每组测试数据的第一行包含一个整数 nn(1≤n≤2×1051 \leq n \leq 2 \times 10^5),表示线段的数量。

接下来的 nn 行中,每行包含两个整数 lil_i 和 rir_i(1≤li≤ri≤1091 \leq l_i \leq r_i \leq 10^9),表示第 ii 条线段。

保证所有测试组的 nn 之和不超过 2×1052 \times 10^5。

输出格式

对于每组测试数据,输出一个整数,表示能得到的所有标记线段长度之和的最大可能值。

输入输出样例

  • 输入#1

    4
    2
    1 1000000000
    1 1000000000
    3
    1 10
    2 15
    3 9
    5
    1 11
    2 7
    15 20
    1 3
    11 15
    1
    1000000000 1000000000

    输出#1

    2999999997
    42
    59
    0

说明/提示

在第一个示例中,我们选择这给定的两个线段,构造新线段 [1,109][1, 10^9]。

在第二个示例中,我们选择线段 [1,10][1, 10] 和 [2,15][2, 15],生成新线段 [1,15][1,15]。接着 [3,9][3, 9] 是剩下的唯一未标记线段,下一个操作中将其标记。

由 ChatGPT 5 翻译

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

首页