最新公告
  • 欢迎您光临信息学奥赛网,一个优质的信息学编程题库和信息学编程学习资源专业网站。欢迎加入VIP
  • 用最少数量的箭引爆气球

    正文概述 陈老师   2026-01-20 15:21:35  

    题目描述

    在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。

    一支弓箭可以沿着 xx 轴从不同点完全垂直地射出。在坐标 xx 处射出一支箭,第 ii 个气球的直径的开始和结束坐标为 startistart_iendiend_i, 且满足 startixendistart_i ≤ x ≤ end_i,则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓箭一旦被射出之后,可以无限地前进。我们想找到使得所有气球全部被引爆,所需的弓箭的最小数量。

    输入

    11 行:一个整数 nn ,表示有 nn 个气球;

    接下来 nn 行:每行两个整数表示 startistart_i endiend_i

    输出

    引爆所有气球所必须射出的最小弓箭数。

    样例

    4
    10 16
    2 8
    1 6
    7 12
    
    2
    
    4
    1 2
    3 4
    5 6
    7 8
    
    4
    
    4
    1 2
    2 3
    3 4
    4 5
    
    2
    

    提示

    对于样例 1,x=6x = 6 可以射爆 [2,8],[1,6][2,8],[1,6] 两个气球,以及 x=11x = 11 射爆另外两个气球

    信息学奥赛网,一个优质的信息学奥赛学习资源平台!
    信息学奥赛网 » 用最少数量的箭引爆气球