2023河南萌新联赛第(四)场:河南大学 I - yh的线段

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 524288K,其他语言1048576K
64bit IO Format: %lld

题目描述

yh喜欢好线段,好线段即两条线段相交且不与其他线段重合的线段。

两条线段 [ l 1 , r 1 ] [l_1,r_1] [l1​,r1​]和 ∣ l 2 , r 2 ] |l_2,r_2] ∣l2​,r2​]相交(如果存在至少一个 x x x ,使得 l 1 < = x < = r 1 l_1<=x<=r_1 l1​<=x<=r1​和 l 2 < = x < = r 2 l_2<=x<=r_2 l2​<=x<=r2​ ,则认为两个线段相交)。

yh在数轴上有几条线段,他可以把在数轴上相交的线段结合,但是对于每个线段只能与其它线段结合一次,且不能与其它线段有重合部分,yh可以舍弃任何数量的线段
给你 n ( 2 < n < 1 e 6 ) n(2<n<1e6) n(2<n<1e6) 条线段,如果两条线段相交不与其他线段相交,则由这两条线段组成的线段被称为好线段,线段不能被重复使用,但可以被舍弃任意数量的线段,请你找出好线段个数的最大值。

输入描述:

第一行包含一个正数 n ( 2 < n < l e 6 ) n (2< n< le6) n(2<n<le6) ———— 线段的个数。
接下来 n n n 行各包含两个整数 l i l_i li​ 和 r i r_i ri​ ( 0 < = l i < = r i < = 1 0 9 0<=l_i<=r_i<=10^9 0<=li​<=ri​<=109),表示 n n n 个线段。

输出描述:

输出好线段个数的最大值。

示例1

输入
5
2 2
2 8
0 10
1 2
5 6
输出
1

示例2

输入
7
2 4
9 12
2 4
7 7
4 8
10 13
6 8
输出
3
说明

对于样例2,我们可以删除[4,8]这一条线段,然后将[2,4]和[2,4]、[6,8]和[7,7]、[9,12]和[10,13]组成三条好线段,可以看出这是最优的情况。

import java.io.*;
import java.util.ArrayList;
import java.util.Collections;class Node implements Comparable<Node> {int l, r;public Node(int l, int r) {this.l = l;this.r = r;}@Overridepublic int compareTo(Node o) {return Integer.compare(this.r, o.r);}
}public class Main {public static void main(String[] args) throws IOException {BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));int n = Integer.parseInt(bf.readLine());ArrayList<Node> arrayList = new ArrayList<>();for (int i = 0; i < n; i++) {String[] str = bf.readLine().split(" ");int l = Integer.parseInt(str[0]);int r = Integer.parseInt(str[1]);arrayList.add(new Node(l, r));}//对于重复相交的线段我们只用统计一次即可,因为可以删除任何数量的线段,//为了找出最大数量的好线段,我们可以按线段的右端点排序存储,然后遍历统计即可Collections.sort(arrayList);int ans = 0;int f = -1, l = -1;for (Node ai : arrayList) {if (ai.l <= f) continue;if (ai.l <= l) {ans++;f = ai.r;} else l = ai.r;}bw.write(String.valueOf(ans));bw.close();}
}

2023河南萌新联赛第(四)场:河南大学 I - yh的线段相关推荐

  1. 题解 | 2023河南萌新联赛第(四)场:河南大学 解题报告

    足下科技-c++软件开发工程师 岗位名:c++软件开发工程师 岗位类型:C++ 岗位职责: 岗位职责:1.参与公司自动驾驶软件系统中间件.框架的设计和开发:2.负责中间件在软硬件平台上的适 题解 | ...

  2. L---泰拉瑞亚---2023河南萌新联赛第(三)场:郑州大学

    链接:登录-专业IT笔试面试备考平台_牛客网 来源:牛客网 示例1 输入 1 10 3 5 输出 3 说明 只有一把回旋镖,你可以先打两次伤害为3的,再打一次倾尽全力的,造成的伤害为5.总伤害为3+3 ...

  3. 2022河南萌新联赛第(二)场:河南理工大学 补题题解(A、B、C、F、J、L)

    2022河南萌新联赛第(二)场:河南理工大学 A 妙手 B 宝石 C 斩龙 F 手办 J 签到 L HPU 就过了一道题,三道签到的两题都是思路对了但没写出来,只能说自己还是太菜,需要努力! 比赛地址 ...

  4. 2022河南萌新联赛第(二)场

    2022河南萌新联赛第(二)场 目录 F 手办 G 无限 J 签到 L HPU 结语 水题水题 目录 F 手办 思路:暴力是否有立方数是n的因子 #include<bits/stdc++.h&g ...

  5. 【2022河南萌新联赛第(五)场:信息工程大学】【部分思路题解+代码解析】

    文章目录 2022河南萌新联赛第(五)场:信息工程大学 B 交通改造 题目描述 示例1 题目解析: 思路1: 思路2: C 丢手绢 题目描述 示例1 题目分析: 快速幂: AC代码: F 分割草坪 题 ...

  6. 22.11.25打卡 2022河南萌新联赛第(二)场:河南理工大学 AFJL

    之前漏下的打卡慢慢补 2022河南萌新联赛第(二)场:河南理工大学_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A题 想了好一会都没什么思路, 主要是这个1e1145 ...

  7. 2022河南萌新联赛

    2022河南萌新联赛第(一)场:河南工业大学 A - Alice and Bob B - 打对子 C - 割竿榄 D - 纪念品领取 E - 聚会 F - 买车 G - 热身小游戏 H - 兴奋值 I ...

  8. 2022/7/17/题解2022河南萌新联赛第(二)场:河南理工大学https://ac.nowcoder.com/acm/contest/37344

    A题:https://ac.nowcoder.com/acm/contest/37344/A 看代码比说结论要快得多 #include<bits/stdc++.h> using names ...

  9. 2022河南萌新联赛第(三)场:河南大学

    A.玉米大炮 题目链接 关键点: 1.本题要求求出打败僵尸的最短时间,并且随着时间的增大,打败的概率越来越大,所以为递增的,因此可以用二分 2.二分打败时间,这里注意要开long long,然后是判断 ...

最新文章

  1. [Contest20180415]看无可看
  2. UNICODE_STRING 总结
  3. 一次上机试题(面向对象)
  4. hdu 4358(莫队算法+dfs序列)
  5. 【笔记】Windows Phone 8开发笔记之API
  6. vue项目使用electron打包成桌面应用
  7. 【Python爬虫】Windows环境下wxpy不需每次登陆重新扫描
  8. 50道编程小题目之【水仙花数】
  9. HDU 5769 Substring(后缀数组)
  10. SQL数据去重复 Distinct 和 row_number() over()
  11. css part 2
  12. LPC1768的USB-相关结构体定义
  13. 超详细! 利用Synopsys VCS对Verilog代码加密的四种方法
  14. python爬取豆瓣读书界面的书名、作者、价格、导入数据库_python爬虫:利用正则表达式爬取豆瓣读书首页的book...
  15. kernel Damon实现
  16. div p、divp、div+p、div~p、div.a 、p,span的用法和区别
  17. 手机投影到deepin
  18. php实现pdhf2加密,搞了一天半了,可恶的加密代码解决方案
  19. 【财富空间】幸福,就是有这3种能力
  20. 51单片机之感应开盖垃圾桶

热门文章

  1. 若变量已正确定义并赋值,下面符合C语言语法的表达式是
  2. 20 ubuntu 中科大源_ubuntu20.04 LTS 更换国内163源、阿里源、清华源、中科大源
  3. SpringBoot Schedule的三种使用方式
  4. [从零构建光栅渲染器] 6. 顶点和片元着色器的工作原理
  5. 织梦tags.php一道二级目录,DedeCMS织梦Tags标签页制作
  6. mac os苹果操作系统安装docker和oracle 11g
  7. Linux进程间通信手段
  8. 采用离散模型搭建永磁同步电机控制系统
  9. 2023年中国海洋大学计算机及电子信息考研分析
  10. Python的布尔型