Universal Cup Judging System

Universal Cup

时间限制: 1.0 s 内存限制: 1024 MB 总分: 100 可 Hack ✓
统计

Bobo 最近学习了拓扑排序的概念。有一天,他观察到一个有向无环图 (DAG) $G = (V, E)$,其中 $|V| = n$ 个顶点编号为 $1$ 到 $n$,并立即在纸上写下了两个序列 $A = (a_1, a_2, \dots, a_n)$ 和 $B = (b_1, b_2, \dots, b_n)$,使得 $A$ 是 $G$ 的字典序最小的拓扑排序,$B$ 是 $G$ 的字典序最大的拓扑排序。

不幸的是,现在 Bobo 忘记了原始 DAG $G$ 的样子,他手头只有这两个序列 $A$ 和 $B$。你能帮 Bobo 恢复原始图 $G$ 吗?可能存在多个符合 $A$ 和 $B$ 的图,也可能 Bobo 写下的序列有误,导致不存在合法的图。

请参考说明部分以获取下划线术语的正式定义。

输入格式

第一行包含一个整数 $n$ ($1 \le n \le 10^5$),表示两个序列的长度。

第二行包含 $n$ 个两两不同的整数 $a_1, a_2, \dots, a_n$ ($1 \le a_i \le n$),表示第一个序列 $A$。

第三行包含 $n$ 个两两不同的整数 $b_1, b_2, \dots, b_n$ ($1 \le b_i \le n$),表示第二个序列 $B$。

输出格式

如果存在满足条件的有向图 $G$,则在第一行输出 “Yes”;否则,在第一行输出 “No”。你可以以任何大小写形式输出(例如,“yEs”、“yes”、“Yes” 和 “YES” 均被视为肯定回答)。

如果你的回答是 “Yes”,请在第一行输出一个整数 $m$ ($0 \le m \le \min(n(n - 1)/2, 10^6)$)。然后在接下来的 $m$ 行中,每行输出两个整数 $u, v$ ($1 \le u, v \le n$),表示图 $G$ 中的一条有向边 $(u, v)$。你输出的图 $G$ 必须满足:它是一个有向无环图,$A$ 是 $G$ 的字典序最小的拓扑排序,$B$ 是 $G$ 的字典序最大的拓扑排序。如果存在多个解,输出其中任意一个均被视为正确。

再次注意,你输出的图必须包含不超过 $10^6$ 条边。可以证明,如果存在任何合法的图,则一定存在一个边数不超过 $10^6$ 的合法图。

样例

样例输入 1

3
1 2 3
1 2 3

样例输出 1

Yes
3
1 2
2 3
1 3

样例输入 2

3
1 2 3
3 2 1

样例输出 2

Yes
0

样例输入 3

3
3 2 1
1 2 3

样例输出 3

No

说明

在此提供题目中部分下划线术语的正式定义:

  • 有向图 $G = (V, E)$ 的拓扑排序是其顶点的一种线性排序(即排列),使得对于每一条从顶点 $u$ 到顶点 $v$ 的有向边 $(u, v) \in E$,$u$ 在排序中出现在 $v$ 之前。可以证明,一个有向图当且仅当它是无环的,才至少存在一个拓扑排序。
  • 对于两个长度均为 $n$ 的序列 $A = (a_1, a_2, \dots, a_n)$ 和 $B = (b_1, b_2, \dots, b_n)$,当且仅当存在某个下标 $1 \le i \le n$ 满足以下条件时,称 $A$ 的字典序小于 $B$:
    • $a_i < b_i$;
    • 对于所有 $j < i$,有 $a_j = b_j$。

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.