QOJ.ac

QOJ

実行時間制限: 1.5 s メモリ制限: 128 MB 満点: 100

#11287. 罢工

統計

Bitotia 的公民以脾气火爆和对民主的热爱而闻名(与保皇派 Bytotia 平静祥和的臣民形成鲜明对比)。每当他们感到有必要表达对政府决策(例如增加字节中的位数)的不满或支持(例如使 RAM 和缓存相等)时,他们就会聚集在街上进行罢工。

Bitotia 有 $n$ 个城镇。每个城镇的公民独立决定开始或结束罢工。一旦罢工开始,该城镇就会完全瘫痪,无法进入或离开。不幸的是,Bitotia 的道路网络设计非常简约,即对于每一对城镇,都有且仅有一条路径可以从一个城镇到达另一个城镇。因此,罢工往往会使未罢工的城镇之间断开连接。更正式地说,当前罢工的城市集合将剩余的城市划分为若干个连通分量,使得两个城镇(均未罢工)连通,当且仅当它们处于同一个连通分量中。

作为 Bitotia 的交通专员,你的任务是编写一个程序,根据当前正在进行的罢工的最新信息,确定道路网络的连通分量数量。

Bitotia 的所有道路都是双向的,每条道路的两端都在某个城镇。

输入格式

标准输入的第一行包含一个整数 $n$ ($n \ge 2$),表示 Bitotia 的城镇数量。城镇编号为 $1$ 到 $n$。接下来的 $n-1$ 行,每行包含两个整数 $a$ 和 $b$ ($1 \le a < b \le n$),表示由该路段直接相连的两个城市的编号。Bitotia 中的每一对城镇都通过由若干直接路段组成的路径相连。

下一行包含一个整数 $m$ ($m \ge 1$),表示罢工更新的次数。接下来的 $m$ 行,每行包含一个整数 $z$,满足 $1 \le |z| \le n$。如果 $z > 0$,则表示编号为 $z$ 的城镇开始罢工;如果 $z < 0$,则表示编号为 $-z$ 的城镇结束罢工。你可以假设在任何时候,每个城镇要么没有罢工,要么恰好有一次罢工;正式地说,罢工不能在已经有罢工的城镇开始,同样,罢工也不能在没有罢工的城镇结束。最初,没有任何城镇发生罢工。

输出格式

你的程序应向标准输出打印 $m$ 行。第 $i$ 行(对于 $1 \le i \le m$)应包含一个整数,等于输入中第 $i$ 次更新后 Bitotia 道路网络的连通分量数量。当所有城镇的公民都在罢工时,连通分量数量为 $0$。

样例

输入 1

7
1 2
2 3
2 4
4 5
4 6
6 7
4
2
7
4
-2

输出 1

3
3
4
3

说明

该图描绘了 2 号和 7 号城镇开始罢工后的 Bitotia 道路网络。网络分裂成了三个连通分量。

子任务

测试集由以下子任务组成。每个子任务内可能包含多个测试组。

子任务 属性 分值
1 $n, m \le 1000$ 24
2 $n, m \le 500\,000$,道路网络为一条路径 17
3 $n, m \le 500\,000$,输入中的所有数字均为正数 17
4 $n, m \le 500\,000$ 42

注:如果对于每个 $a = 1, \dots, n-1$,编号为 $a$ 和 $a+1$ 的城镇直接相连,则称道路网络为一条路径。

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.