QOJ.ac

QOJ

実行時間制限: 1 s メモリ制限: 512 MB 満点: 100

#11820. 凡人皆有一死

統計

丹妮莉丝(Khaleesi)已扬帆起航前往君临城。她拥有三条巨龙和数以万计的军队,势不可挡。船队正逐渐靠近君临城,她想要开始规划进攻。

进攻计划是将军队分为左右两翼。但有一个问题,丹妮莉丝的士兵来自非常不同的背景,其中一些人存在敌对关系,无法相处(比如马泰尔家族和提利尔家族),因此他们不能被分在同一个侧翼。

丹妮莉丝了解所有的敌对关系,并试图解决其中的一部分。然而,有些敌对关系很难解决,她必须处理它们。她想检查如果某些敌对关系未被解决,是否可以将士兵分为两个侧翼,使得没有两个不和的士兵在同一个侧翼中。你能帮助丹妮莉丝规划她的进攻,以坐上铁王座吗?

输入格式

你的程序将在一个或多个测试用例上进行测试。输入的第一行是一个整数 $T$,表示测试用例的数量($1 \le T \le 10$)。

每个测试用例以一行包含三个空格分隔的整数开始:

  • $N$:士兵人数($1 \le N \le 40,000$)
  • $E$:敌对关系数量($1 \le E \le 40,000$)
  • $Q$:查询数量($1 \le Q \le 40,000$)

接下来有 $E$ 行,每行包含两个空格分隔的整数 $A$ 和 $B$,表示士兵 $A$ 和 $B$ 不能在同一个侧翼($1 \le A, B \le N$)。

接下来有 $Q$ 行,每行包含两个空格分隔的整数 $C$ 和 $D$,表示编号在 $[C, D]$ 范围内的所有敌对关系都无法解决($1 \le C, D \le E$)。

输出格式

对于每个测试用例,打印 $Q$ 行,其中第 $i$ 行表示第 $i$ 个查询的答案。如果军队无法分为两个侧翼,则该行应包含 "-1 -1"(引号仅为说明);否则,输出两个侧翼的大小,以单个空格分隔。如果有多种有效的分配方式,请打印使第一侧翼人数最多的那种。

样例

输入格式 1

1
9 8 6
5 4
3 4
5 6
5 3
7 8
4 8
5 4
3 4
1 8
1 4
2 5
2 4
4 7
4 4

输出格式 1

-1 -1
-1 -1
6 3
7 2
7 2
8 1

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#1624EditorialOpenEditorial for Problem #11820int43992026-04-25 11:27:07View

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.