AT_tupc2024_q.Make Intervals Disjoint
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定 N 个半开区间。第 i 个半开区间可以用整数 Li,Ri 表示为 [Li,Ri)。
你可以对以下操作进行任意次(也可以不进行):
- 从 2N 个整数 L1,R1,L2,R2,…,LN,RN 中选择一个,使其值加 1 或减 1。
你的目标是让 N 个半开区间 [L1,R1),[L2,R2),…,[LN,RN) 互不相交。更严格地说,对于所有满足 1≤i<j≤N 的整数对 (i,j),不存在满足 Li≤x<Ri 且 Lj≤x<Rj 的实数 x。
其中,当 L≥R 时,半开区间 [L,R) 表示为空集,空集与任何区间都不相交。
请计算为实现目标所需的最小操作次数。
对于给定的 T 个测试用例,请分别输出每个测试用例的答案。
输入格式
输入通过标准输入按以下格式给出。
T case1 case2 ⋮ caseT
每组数据按以下格式输入。
N L1 R1 L2 R2 ⋮ LN RN
输出格式
输出共 T 行,第 i 行输出第 i 个测试用例的答案。
输入输出样例
输入#1
4 3 1 4 3 7 6 7 2 1 1000000000 1 1000000000 2 1 2 2 3 4 20 25 3 22 3 23 3 24
输出#1
2 999999999 0 43
说明/提示
致 Universal Cup 参赛者
本题将在收录 Universal Cup 时删除。因此,如果在 Universal Cup 中需要用 AtCoder 的成绩,请优先完成本题以外的题目。
样例解释 1
对于第 1 个测试用例,例如:
- 将 R1 减少 1;
- 将 L3 增加 1;
操作后,三个区间分别变为 [1,3),[3,7),[7,7),它们互不相交。
可以证明无法通过少于 2 次操作达成目标,因此第 1 个测试用例的答案为 2。
数据范围
- 1≤T≤105
- 2≤N≤2×105
- 1≤Li<Ri≤109
- 所有测试用例中 N 的总和不超过 2×105
- 输入均为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?