AT_arc126_b.[ARC126B] Cross-free Matching

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

在坐标平面上,有 2N2N 个顶点,其 xx 坐标为 1,2,…,N1, 2, \ldots, N,yy 坐标为 00 或 11,即顶点为 (1,0),…,(N,0),(1,1),…,(N,1)(1, 0), \ldots, (N, 0), (1, 1), \ldots, (N, 1)。在这些顶点中,有 MM 条线段,每条线段 ii 连接 (ai,0)(a_i, 0) 和 (bi,1)(b_i, 1)。

你需要从这 MM 条线段中选出 KK 条,使得任意两条被选中的线段都没有公共点(即没有公共端点)。请注意,线段的两个端点也算作线段包含的点。请你求出可能选出的 KK 的最大值。

输入格式

输入通过标准输入给出,格式如下:

NN MM
a1a_1 b1b_1
⋮\vdots
aMa_M bMb_M

输出格式

输出可能选出的 KK 的最大值。

输入输出样例

  • 输入#1

    3 3
    1 2
    2 3
    3 1

    输出#1

    2
  • 输入#2

    3 5
    1 1
    2 1
    2 2
    3 2
    3 3

    输出#2

    3
  • 输入#3

    7 5
    1 7
    7 1
    3 4
    2 6
    5 2

    输出#3

    1

说明/提示

限制条件

  • 1≤N,M≤2×1051 \leq N, M \leq 2 \times 10^5
  • 1≤ai,bi≤N1 \leq a_i, b_i \leq N
  • 如果 i≠ji \neq j,则 ai≠aja_i \neq a_j 或 bi≠bjb_i \neq b_j

样例解释 1

选择第 11、22 条线段是最优解之一。例如,第 11 条线段和第 33 条线段包含了同一个点 (53,23)\left(\frac{5}{3}, \frac{2}{3}\right),因此不能同时选择。

样例解释 2

选择第 11、33、55 条线段是最优解之一。例如,第 11 条线段和第 22 条线段包含了同一个点 (1,1)(1, 1),因此不能同时选择。

样例解释 3

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页