QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 256 MB Total points: 100

#413. 最差的记者 2

Statistics

21世纪,竞技编程作为一种智力运动已被广泛认可,并经常出现在电视、报纸等媒体上。 你是 JOI 新闻社的一名记者,负责竞技编程的相关报道。 昨天,举办了一场由 $N$ 名选手参加的国际竞技编程比赛。为了撰写关于这场比赛的报道,你获得了以下信息:

  • 与国际信息学奥林匹克竞赛等比赛相同,本次比赛有来自多个国家的选手参加。国家被编号为 1 到 $N$。同一个国家可能有多个选手参加。此外,也可能存在没有选手参加的国家。
  • 本次比赛的竞赛时间为 5 小时。
  • 选手在比赛中获得的得分在比赛期间不会减少。
  • 在比赛开始 2 小时后,没有选手得分相同。在该时刻的排行榜中,第 $i$ 名 ($1 \le i \le N$) 的选手来自国家 $A_i$,其得分为 $B_i$。
  • 在比赛结束时,没有选手得分相同。在比赛结束时的排行榜中,第 $i$ 名 ($1 \le i \le N$) 的选手来自国家 $C_i$,其得分为 $D_i$。

然而,在撰写报道时,发现排行榜中关于选手所属国家的信息存在错误。选手所属国家的信息可能被错误地显示了,但已知显示的选手得分是正确的。

因此,你决定通过对所给信息进行尽可能少的修正,来推测出一份没有矛盾(即同一选手的所属国家在比赛期间没有改变,且选手的得分在比赛期间没有减少)的排行榜信息。也就是说,通过修改 $2N$ 个值 $A_1, \dots, A_N, C_1, \dots, C_N$ 中的尽可能少的位置,使得满足以下条件:

  • 存在一个 $1, 2, \dots, N$ 的排列 $x_1, x_2, \dots, x_N$,使得对于每个 $i = 1, 2, \dots, N$,都有 $A_i = C_{x_i}$ 且 $B_i \le D_{x_i}$ 成立。

请问,对所给信息最少需要进行多少处修正?

任务

给定参赛人数,以及比赛开始 2 小时后和比赛结束时的排行榜信息,编写一个程序,求出为了使排行榜处于无矛盾状态,所需修改所属国家信息的最小次数。

输入格式

从标准输入读取以下数据:

  • 第 1 行包含一个整数 $N$,表示参加比赛的选手人数。
  • 接下来的 $N$ 行中的第 $i$ 行 ($1 \le i \le N$) 包含以空格分隔的整数 $A_i, B_i$。这表示在比赛开始 2 小时后的排行榜中,第 $i$ 名的选手来自国家 $A_i$,得分为 $B_i$。
  • 接下来的 $N$ 行中的第 $i$ 行 ($1 \le i \le N$) 包含以空格分隔的整数 $C_i, D_i$。这表示在比赛结束时的排行榜中,第 $i$ 名的选手来自国家 $C_i$,得分为 $D_i$。

输出格式

将使排行榜处于无矛盾状态所需的所属国家信息修改次数的最小值输出到标准输出。

数据范围

所有输入数据满足以下条件:

  • $2 \le N \le 200\,000$
  • $1 \le A_i \le N$ ($1 \le i \le N$)
  • $0 \le B_i \le 1\,000\,000\,000$ ($1 \le i \le N$)
  • $B_i > B_{i+1}$ ($1 \le i \le N - 1$)
  • $1 \le C_i \le N$ ($1 \le i \le N$)
  • $0 \le D_i \le 1\,000\,000\,000$ ($1 \le i \le N$)
  • $D_i > D_{i+1}$ ($1 \le i \le N - 1$)
  • 通过修改 $A_1, \dots, A_N, C_1, \dots, C_N$ 的某些值,可以将排行榜调整为无矛盾状态。

子任务

  1. (15 分) 满足 $N \le 16$。
  2. (15 分) 满足 $N \le 50$。
  3. (30 分) 满足 $N \le 5000$。
  4. (40 分) 无附加限制。

样例

样例输入 1

3
3 500
2 200
1 100
1 1000
3 700
3 400

样例输出 1

1

说明 1

将 $C_3$ 的值修正为 2,可以得到如下无矛盾的排行榜:

  • 比赛开始 2 小时后得分为 500 的第 1 名(来自国家 3 的选手),在比赛结束时得分为 700,排名第 2。
  • 比赛开始 2 小时后得分为 200 的第 2 名(来自国家 2 的选手),在比赛结束时得分为 400,排名第 3。
  • 比赛开始 2 小时后得分为 100 的第 3 名(来自国家 1 的选手),在比赛结束时得分为 1000,排名第 1。

在此处,如果将 $C_2$ 的值修正为 2,则来自国家 3 的选手虽然在比赛开始 2 小时后获得了 500 分,但在比赛结束时得分为 400,因此排行榜存在矛盾。 由于不可能通过少于 1 处的修正获得无矛盾的排行榜,因此输出 1。

样例输入 2

3
3 3
3 2
1 1
3 4
3 2
1 1

样例输出 2

0

说明 2

在这种情况下,即使不修正所属国家信息,排行榜也是无矛盾的。请注意,可能存在比赛开始 2 小时后的得分与比赛结束时的得分相比没有增加的选手。此外,请注意排行榜中可能存在来自同一国家的多个选手。

样例输入 3

6
1 70
4 50
1 30
2 20
1 10
3 0
6 100
2 90
1 80
2 60
4 40
1 10

样例输出 3

3

说明 3

在此样例中,将 $A_1$ 的值修正为 2,将 $A_6$ 的值修正为 4,将 $C_1$ 的值修正为 4,即可得到无矛盾的排行榜。

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.