P11545 [Code+#5] 监控中心

题目背景

**题目来源:**[link](https://www.gitlink.org.cn/thusaa/codeplus5)。

题目描述

随着战争的推进,C 国已经在 D 国的 $n$ 个城市中的每个城市,都至少建立了一个情报中心。除此之外,TAC 规划了 $m$ 条双向的信息传输通道,其中第 $i$ 条形如 $(a_i,b_i)$,表示在城市 $a_i$ 和城市 $b_i$ 之间可以直接传递、交换情报。经过合理规划,任意两个城市之间都可以直接或间接地传递情报。 然而 D 国的军队也不是吃素的。在军队的秘密围剿下,一些城市的情报中心可能会被歼灭而失效。如果一个城市 $c$ 的情报中心失效了,那么所有和 $c$ 有传输通道的、还未失效的城市将会无法发送情报,总而将这条错误信息报告到总部。即如果有一条形如 $(a,b)$ 的传输通道,那么就会有这样四种情况: - $a$ 和 $b$ 的情报中心同时有效,那么传输正常,没有错误信息; - $a$ 的情报中心有效而 $b$ 的情报中心被歼灭,则 $a$ 的情报中心会报告“无法给 $b$ 发送信息”的错误信息; - $b$ 的情报中心有效而 $a$ 的情报中心被歼灭,则 $b$ 的情报中心会报告“无法给 $a$ 发送信息”的错误信息; - $a$ 和 $b$ 的情报中心同时被歼灭,则两个城市都无法发出错误信息。 现在,TAC 有 $q$ 个事件。在每个事件中,TAC 得到了若干条错误信息。请你根据这些错误信息,确定出**被歼灭的**的情报中心的个数。注意:不同的事件是**独立**的;并且**至少存在一个**有效的情报中心。

输入格式

第一行两个整数 $n$,$m$,表示城市的个数和传输通道的个数; 接下来 $m$ 行,每行 $(a_i,b_i)$($1\le i\le m$),表示一条传输通道; 接下来一行一个整数 $q$; 接下来 $q$ 行,每行 $c_i+1$ 个数,其中第一个数为 $c_i$ 表示错误信息的个数,接下来有 $c_i$ 个数 $e_1,e_2,\cdots,e_{c_i}$;其中如果 $e_i > 0$,表示 $a_{e_i}$ 因为无法给 $b_{e_i}$ 发送信息而发出错误信息,否则表示 $b_{-e_i}$ 因为无法给 $a_{-e_i}$ 发送信息而发出错误信息。

输出格式

输出 $q$ 行,每行一个整数,表示每个事件**被歼灭**的情报中心的个数。

说明/提示

**数据范围:** $\def\arraystretch{1.44} \begin{array}{|c|c|c|}\hline \bold{\small{子任务}}&\textbf{score}&\textbf{constraints}\\\hline \text{A}&20&1\le N\le 10^5,m=n-1,b_i-a_i=1,\sum c\le 10^6\\\hline \text{B}&30&1\le N\le10^5,m=n-1,\sum c\le10^6\\\hline \text{C}&20&m=n-1\\\hline \text{D}&30&\small{无特殊限制}\\\hline \end{array}$ 对于所有数据,保证 $1\le n\le 10^6$,$0\le m\le 2.5\times 10^6$,$1\le q,\sum_{i=1}^q c_i \le 10^7$。