题目描述
N 頂点の、それぞれ M1, M2, M3 辺の単純な無向グラフ X, Y, Z が与えられます。 頂点をそれぞれ x1, x2, …, xN, y1, y2, …, yN, z1, z2, …, zN とします。 X, Y, Z の辺はそれぞれ (xai, xbi), (yci, ydi), (zei, zfi) です。
X, Y, Z を元に N3 頂点の無向グラフ W を作ります。 X, Y, Z から 1 つずつ頂点を選ぶ方法は N3 通りありますが、これがそれぞれ W の頂点と一対一に対応します。xi, yj, zk を選ぶことに対応する頂点を (xi, yj, zk) で表すこととします。
W の辺を、以下の手順に沿って張ります。
- X の各辺 (xu, xv)、及び全ての w, l について、(xu, yw, zl), (xv, yw, zl) 間に辺を張る
- Y の各辺 (yu, yv)、及び全ての w, l について、(xw, yu, zl), (xw, yv, zl) 間に辺を張る
- Z の各辺 (zu, zv)、及び全ての w, l について、(xw, yl, zu), (xw, yl, zv) 間に辺を張る
そして、W の頂点 (xi, yj, zk) の重みを $ 1,000,000,000,000,000,000^{(i\ +j\ +\ k)}\ =\ 10^{18(i\ +\ j\ +\ k)} $ とします。W の独立集合のうち、頂点の重みの総和の最大値を求めてください。そしてそれを 998,244,353 で割った余りを出力してください。
输入格式
入力は以下の形式で標準入力から与えられる。
N M1 a1 b1 a2 b2 ⋮ aM1 bM1 M2 c1 d1 c2 d2 ⋮ cM2 dM2 M3 e1 f1 e2 f2 ⋮ eM3 fM3
输出格式
重みの総和の最大値を 998,244,353 で割った余りを出力せよ。
题目大意
给定三个简单无向图G1,G2,G3,其中每个图的点数均为n,边数分别为m1,m2,m3。
现在根据G1,G2,G3构造一个新的无向图G。G有n3个点,每个点可以表示为(x,y,z),对应G1中的点x,G2中的点y,G3中的点z。边集的构造方式如下:
若G1中存在一条边(u,v),则对于任意1≤a,b≤n,在G中添加边((u,a,b),(v,a,b));
若G2中存在一条边(u,v),则对于任意1≤a,b≤n,在G中添加边((a,u,b),(a,v,b));
若G3中存在一条边(u,v),则对于任意1≤a,b≤n,在G中添加边((a,b,u),(a,b,v)).
对于G中的任意一个点(x,y,z),定义其点权为1018(x+y+z)。
试求G的最大权独立集的大小模998244353的值。
2≤n≤105,1≤m1,m2,m3≤105。
Translated by Caro23333
2
1
1 2
1
1 2
1
1 2
46494701
3
3
1 3
1 2
3 2
2
2 1
2 3
1
2 1
883188316
100000
1
1 2
1
99999 100000
1
1 100000
318525248
提示
制約
- 2 ≤ N ≤ 100,000
- 1 ≤ M1, M2, M3 ≤ 100,000
- $ 1\ \leq\ a_i,\ b_i,\ c_i,\ d_i,\ e_i,\ f_i\ \leq\ N $
- X, Y, Z は単純、つまり自己ループや多重辺は存在しない
Sample Explanation 1
(x2, y1, z1), (x1, y2, z1), (x1, y1, z2), (x2, y2, z2) を選ぶ場合が最適です。 答えは 3 × 1072 + 10108 を 998,244,353 で割ったあまりの 46,494,701 です。