题目 30122

增量强连通分量

查看题解 ↗GitHub ↗如何评测
题号
30122
时间限制
10000 ms
内存限制
1024 MB
标签
图论
来源
Library Checker (yosupo06) - incremental_scc

【题目描述】

有一个 NN 个顶点、00 条边的有向图 GG,以及一个整数序列 x0,…,xN−1x_0, \ldots, x_{N-1}。

向 GG 中加入 MM 条有向边,第 ii 条边从 aia_i 指向 bib_i。

每加入一条边之后,输出下式定义的 XX 对 998244353998244353 取模的结果:

  • 对 0≤i,j≤N−10\leq i,j \leq N-1,若顶点 ii 与顶点 jj 在 GG 中属于同一个强连通分量,则定义 same(i,j)=1\mathrm{same}(i,j)=1,否则 same(i,j)=0\mathrm{same}(i,j)=0。
  • 定义 X=∑0≤i<j≤N−1same(i,j)xixjX = \sum_{0\leq i<j\leq N-1}\mathrm{same}(i,j)x_ix_j。

【输入】

文本
$N$ $M$
$x_0$ $\ldots$ $x_{N-1}$
$a_0$ $b_0$
$a_1$ $b_1$
$\vdots$
$a_{M - 1}$ $b_{M - 1}$

【输出】

每加入一条边后,输出一行,即此时 XX 对 998244353998244353 取模的结果。

【输入样例】

文本
4 6
1 1 1 1
0 1
1 2
2 0
2 3
1 3
3 0

【输出样例】

文本
0
0
3
3
3
6

【输入样例2】

文本
4 6
12 34 56 78
0 1
1 2
2 0
2 3
1 3
3 0

【输出样例2】

文本
0
0
2984
2984
2984
10940

【输入样例3】

文本
2 7
12 34
0 0
1 1
0 0
0 1
1 1
0 1
1 0

【输出样例3】

文本
0
0
0
0
0
0
408

【数据范围】

  • 1≤N≤5000001 \leq N \leq 500000
  • 1≤M≤5000001 \leq M \leq 500000
  • 0≤xi<9982443530 \leq x_i < 998244353
  • 0≤ai,bi<N0 \leq a_i, b_i < N

【来源】

Library Checker(yosupo06) incremental_scc

数据下载

题目 30122 的公开数据

正在读取文件列表…

常用命令

题目 30122 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。