luogu#P11545. [Code+#5] 监控中心

[Code+#5] 监控中心

题目背景

题目来源:link

题目描述

随着战争的推进,C 国已经在 D 国的 nn 个城市中的每个城市,都至少建立了一个情报中心。除此之外,TAC 规划了 mm 条双向的信息传输通道,其中第 ii 条形如 (ai,bi)(a_i,b_i),表示在城市 aia_i 和城市 bib_i 之间可以直接传递、交换情报。经过合理规划,任意两个城市之间都可以直接或间接地传递情报。

然而 D 国的军队也不是吃素的。在军队的秘密围剿下,一些城市的情报中心可能会被歼灭而失效。如果一个城市 cc 的情报中心失效了,那么所有和 cc 有传输通道的、还未失效的城市将会无法发送情报,总而将这条错误信息报告到总部。即如果有一条形如 (a,b)(a,b) 的传输通道,那么就会有这样四种情况:

  • aabb 的情报中心同时有效,那么传输正常,没有错误信息;

  • aa 的情报中心有效而 bb 的情报中心被歼灭,则 aa 的情报中心会报告“无法给 bb 发送信息”的错误信息;

  • bb 的情报中心有效而 aa 的情报中心被歼灭,则 bb 的情报中心会报告“无法给 aa 发送信息”的错误信息;

  • aabb 的情报中心同时被歼灭,则两个城市都无法发出错误信息。

现在,TAC 有 qq 个事件。在每个事件中,TAC 得到了若干条错误信息。请你根据这些错误信息,确定出被歼灭的的情报中心的个数。注意:不同的事件是独立的;并且至少存在一个有效的情报中心。

输入格式

第一行两个整数 nnmm,表示城市的个数和传输通道的个数;

接下来 mm 行,每行 (ai,bi)(a_i,b_i)1im1\le i\le m),表示一条传输通道;

接下来一行一个整数 qq

接下来 qq 行,每行 ci+1c_i+1 个数,其中第一个数为 cic_i 表示错误信息的个数,接下来有 cic_i 个数 e1,e2,,ecie_1,e_2,\cdots,e_{c_i};其中如果 ei>0e_i > 0,表示 aeia_{e_i} 因为无法给 beib_{e_i} 发送信息而发出错误信息,否则表示 beib_{-e_i} 因为无法给 aeia_{-e_i} 发送信息而发出错误信息。

输出格式

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

7 6
1 2
2 3
3 4
4 5
5 6
6 7
6
1 1 
1 2 
1 3 
2 1 2
3 2 3 4
1 5
6
5
4
11
12
2

提示

数据范围:

$\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}$

对于所有数据,保证 1n1061\le n\le 10^60m2.5×1060\le m\le 2.5\times 10^61q,i=1qci1071\le q,\sum_{i=1}^q c_i \le 10^7