AT_abc411_f.[ABC411F] Contraction
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给你一个 N 个点、M 条边的无向图 G0,第 i 条边连接结点 Ui 和结点 Vi。
高桥有一个图 G 和 N 个棋子,初始时 G=G0,i 号棋子放在结点 i。
他要按顺序执行 Q 次操作。第 i 次操作将给出一个边的编号 Xi,并执行以下操作:
- 如果棋子 UXi 和 VXi 在不同结点上并且这两个结点在 G 中由一条边连接,那么,将 G 中的这条边进行“缩减”得到图 G′。如果 G′ 中存在重边或自环,将重复的边或自环删除。这条边所连接的两个点上面的所有棋子将被移动到“缩减”操作所创建的新点上。然后 G←G′。
- 如果两个棋子在相同结点上或者它们所在的两个结点之间没有边,不进行操作。
每次执行操作后,输出图 G 的边数。
- 边的“缩减”:
边的缩减是对这条边连接的两个点 u,v 进行合并操作。具体地:- 创建一个新结点 w。
- 对于 G 的每个结点 x=u 且 x=v,在 x 和 w 之间连边当且仅当 x 在原图中与 u 有连边,或与 v 有连边。
- 删除 u,v 与和它们两个相连的所有边。
输入格式
第一行两个整数 N,M(2≤N≤3×105,1≤M≤3×105)。
接下来 M 行,每行两个整数 Ui,Vi(1≤Ui<Vi≤N)。保证不存在重边。
接下来一行,一个整数 Q(1≤Q≤3×105)。
接下来一行 Q 个整数 X1,X2,⋯,XQ(1≤Xi≤M)。
输出格式
输出 Q 行,第 i 行输出一个整数表示执行完第 i 个操作后图 G 的边数。
输入输出样例
输入#1
7 7 1 2 1 3 2 3 1 4 1 5 2 5 6 7 5 1 2 3 1 5
输出#1
4 3 3 3 2
说明/提示
样例解释
初始时 G 的状态如图。圈内数字表示点上棋子的编号。

第一次操作我们缩减棋子 1 和棋子 2 所在结点之间的边(左下图)。
操作后,G 如右下图所示,剩余的边数为 4。注意自环被删除,重边被一条边代替。

第二次操作缩减棋子 1 和棋子 3 所在结点之间的边。
操作后,G 如左下图所示,剩余的边数为 3。
第三次操作时,因为棋子 2 和棋子 3 在同一个结点上,所以图 G 不变。剩余的边数为 3。
第四次操作时,因为棋子 1 和棋子 2 在同一个结点上,所以图 G 不变。剩余的边数为 3。
第五次操作缩减棋子 1 和棋子 5 所在结点之间的边。
操作后,G 如右下图所示,剩余的边数为 2。
因此以此输出 4,3,3,3,2。

输入解题思路,AI测评打分。不知道怎么写?