QOJ.ac

QOJ

时间限制: 1 s 内存限制: 256 MB 总分: 100

#1998. 贪睡的牛

统计

Farmer John 有 $N$ $(1 \le N \le 3000)$ 头大小各异的奶牛。他最初为每头奶牛建造了一个个性化的牛棚,但现在一些奶牛已经长得比它们的牛棚大了。具体来说,FJ 最初建造了 $N$ 个大小分别为 $t_1, t_2, \ldots, t_N$ 的牛棚,而奶牛现在的大小分别为 $s_1, s_2, \ldots, s_N$ ($1 \le s_i, t_i \le 10^9$)。

每天晚上,奶牛们都会进行寻找牛棚睡觉的仪式。奶牛 $i$ 可以睡在牛棚 $j$ 中,当且仅当它能装进该牛棚(即 $s_i \le t_j$)。每个牛棚最多只能容纳一头奶牛。

如果一个奶牛到牛棚的匹配满足以下条件,我们称其为极大匹配:每一头分配到牛棚的奶牛都能装进该牛棚,且每一头未分配的奶牛都无法装进匹配中剩余的任何空牛棚。

计算极大匹配的数量,结果对 $10^9 + 7$ 取模。

输入格式

第一行包含 $N$。

第二行包含 $N$ 个空格分隔的整数 $s_1, s_2, \ldots, s_N$。

第三行包含 $N$ 个空格分隔的整数 $t_1, t_2, \ldots, t_N$。

输出格式

极大匹配的数量,对 $10^9 + 7$ 取模。

样例

样例输入 1

4
1 2 3 4
1 2 2 3

样例输出 1

9

说明

以下是所有九种极大匹配的列表。有序对 $(i, j)$ 表示奶牛 $i$ 被分配到了牛棚 $j$。

(1, 1), (2, 2), (3, 4)
(1, 1), (2, 3), (3, 4)
(1, 1), (2, 4)
(1, 2), (2, 3), (3, 4)
(1, 2), (2, 4)
(1, 3), (2, 2), (3, 4)
(1, 3), (2, 4)
(1, 4), (2, 2)
(1, 4), (2, 3)

子任务

  • 测试点 2-3 中,$N \le 8$。
  • 测试点 4-12 中,$N \le 50$。
  • 测试点 13-20 中,无额外限制。

题目来源:Nick Wu

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.