AT_ajo2024_final_d.Shooting the Stars
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
在数轴上有 N 个星星,按照坐标从小到大的顺序编号为 1 到 N。第 i 个星星(1≤i≤N)的坐标是 Xi,亮度是 Ai。
AtCoder 想要拍摄其中一些星星的照片。AtCoder 可以自由选择数轴上的一个区间,把该区间内的星星拍摄下来。在照片中,某些星星可能因为太亮而被看作同一个星星。具体规则如下:
- 若星星 i 和星星 j 满足 ∣Xi−Xj∣≤Ai+Aj,这两颗星会被视为同一颗星。
- 如果星星 i 和 k 被视为同一颗星,星星 k 和 j 也被视为同一颗星,那么星星 i 和 j 也会被视为同一颗星(具有传递性)。
- 按上面规则没有判为同一颗星的星星,会被视为不同的星星出现在照片上。
需要注意:没有被选入拍摄区间的星星,不会出现在照片上,也不会参与“同一颗星”的合并判断。
请问,合理选择一个区间,照片上能够出现的最多不同星星的数量是多少?
给定 T 组测试数据,请分别输出答案。
输入格式
输入按如下格式由标准输入给出。这里 casei 表示第 i 个测试数据。
T
case1
case2
⋮
caseT
每个测试数据的格式如下:
N
X1 A1
X2 A2
⋮
XN AN
输出格式
请输出每组测试数据的答案。
输入输出样例
输入#1
3 4 0 1 3 1 6 5 9 1 6 0 3 1 1 4 1 6 1 9 1 10 3 5 10 5 20 5 30 5 40 5 50 5
输出#1
2 3 1
说明/提示
样例解释 1
下面举出第 1 个测试数据的两种拍摄方式。
- 选择坐标 0 到 5 的区间:星星 1,2 会出现在照片上。∣X1−X2∣=3,A1+A2=2,所以星星 1,2 会被分为不同的星星。
- 选择坐标 0 到 9 的区间:星星 1,2,3,4 会出现在照片上。因为第一个规则,星星 1,3,2,3,3,4 合并。由于规则的传递性,1,2,3,4 都被归为同一颗星。
在此测试用例中,最多能拍到 2 颗不同的星星,其中一种方式是方法 1。如果按方法 2,全被当成 1 颗星,结果不是最优的。
第 2 个测试用例,最多能拍到 3 颗不同的星星,这种情况下可以选择坐标 1 到 9 的区间。
第 3 个测试用例,不管怎么选区间,所有的星星都会被归为 1 颗。
约束条件
- T≥1
- 1≤N≤200000
- 0≤X1<⋯<XN≤108
- 1≤Ai≤108
- T 组数据中,所有 N 之和不超过 200000
- 所有输入均为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?