一艘高科技深海潜艇正在执行一项对未知海沟的探险任务。在它的航线上,分布着 n 个地质活动异常的危险区域。 潜艇的初始能量储备为 m 。对于第 i 个危险区域,潜艇需要消耗 a_i 的能量才能安全通过;在成功通过后,潜艇可以利用该区域尽头的海底热泉补充 b_i 的能量。 能量的消耗 ( a_i ) 发生在穿越过程中,而能量的补充 ( b_i ) 必须在完全穿越该区域后才能进行。潜艇的驾驶员可以自由规划穿越这 n 个区域的顺序。 任务成功的条件是,在穿越所有区域的整个过程中,潜艇的能量值必须始终大于 0。如果在穿越任何一个区域的过程中,潜艇的能量值 E 满足 E ≤ 0 ,任务就会因能量耗尽而失败。 请判断,是否存在一个安全的航行顺序,能让潜艇成功完成这次探险任务。
第一行包含一个整数 T ( 1 ≤ T ≤ 10 ),代表测试数据的组数。 对于每组测试数据: - 第一行包含两个整数 n 和 m ( 1 ≤ n, m ≤ 10^5 ),分别代表危险区域的数量和潜艇的初始能量。 - 接下来 n 行,每行包含两个整数 a_i 和 b_i ( 0 ≤ a_i, b_i ≤ 10^5 ),分别代表穿越第 i 个区域的能量消耗和补充量。 - 注意:每一对 (a_i, b_i) 是绑定的,但穿越的顺序可以自由安排。
对于每组测试数据,如果存在一个安全的航行顺序,则输出 Yes ,否则输出 No 。
2 2 5 3 2 4 5 2 5 3 2 4 2
Yes No
考点:贪心
数据规模 n ≤ 1e5 | 限制 5 秒 / 512MB | 标准输入输出
推荐方向:贪心
本题切入点
经典能量贪心:a_i ≤ b_i 的一组按 a_i 升序、a_i > b_i 的一组按 b_i 降序,排好序后顺序模拟,全程能量恒 >0 即 Yes;n≤1e5 必须用排序而非搜索。
每一步都取当前最优,靠问题性质保证局部最优能拼成全局最优。
思路框架(贪心 通法 · 非本题专属)
实现要点:贪心题关键在于排序规则:按什么关键字排序决定了策略是否正确。
复杂度:时间 O(n log n)(含排序) | 空间 O(1) ~ O(n)
该范式的通法易错点
对照本题
样例 1
2 / 2 5 / 3 2 / 4 5 / 2 5 / 3 2 / 4 2Yes / No解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。
本题来源:2025年秋招-华为-10月10号开发岗。