QOJ.ac

QOJ

Límite de tiempo: 2 s Límite de memoria: 512 MB Puntuación total: 100

#1265. 日全食

Estadísticas

Byteland 有 $n$ 座城市和 $m$ 条双向道路。这些城市编号为 $1, 2, \dots, n$,第 $i$ 座城市的亮度为 $b_i$。

魔法师 Sunset 想要在 Byteland 制造一场全食,使得每座城市的亮度都变为零。Sunset 可以进行任意次数的以下操作:

  • 从考虑范围内移除所有亮度为零的城市。
  • 选择一个整数 $k$ ($1 \le k \le n$)。
  • 选择 $k$ 个互不相同且未被移除的城市 $c_1, c_2, \dots, c_k$ ($1 \le c_i \le n$),使得它们彼此连通。换句话说,对于任意一对不同的选中城市 $c_i$ 和 $c_j$ ($1 \le i < j \le k$),如果你位于城市 $c_i$,你可以通过仅经过 $\{c_1, c_2, \dots, c_k\}$ 中的城市到达城市 $c_j$。
  • 对于每个选中的城市 $c_i$ ($1 \le i \le k$),将 $b_{c_i}$ 减 1。

Sunset 在每次操作中总是会选择尽可能大的 $k$。现在 Sunset 想知道他需要进行的最少操作次数是多少,请编写一个程序来帮助他。

输入格式

第一行包含一个整数 $T$ ($1 \le T \le 10$),表示测试用例的数量。对于每个测试用例:

第一行包含两个整数 $n$ 和 $m$ ($1 \le n \le 100\,000, 1 \le m \le 200\,000$),分别表示城市数量和道路数量。

第二行包含 $n$ 个整数 $b_1, b_2, \dots, b_n$ ($1 \le b_i \le 10^9$),表示每座城市的亮度。

接下来的 $m$ 行,每行包含两个整数 $u_i$ 和 $v_i$ ($1 \le u_i, v_i \le n, u_i \neq v_i$),表示第 $u_i$ 座城市和第 $v_i$ 座城市之间的一条双向道路。注意,同一对城市之间可能存在多条道路。

输出格式

对于每个测试用例,输出一行,包含一个整数:最少操作次数。

样例

输入 1

1
3 2
3 2 3
1 2
2 3

输出 1

4

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.