#aBC371C. [ABC371C] Make Isomorphic

[ABC371C] Make Isomorphic

AT_abc371_c [ABC371C] Make Isomorphic

题目描述

给定一个包含 NN 个顶点(顶点 1,2,,N1,2,\ldots,N)的简单无向图 GGHHGGMGM_G 条边,第 ii 条边(1iMG1\leq i\leq M_G)连接顶点 uiu_i 和顶点 viv_iHHMHM_H 条边,第 ii 条边(1iMH1\leq i\leq M_H)连接顶点 aia_i 和顶点 bib_i

你可以对图 HH 重复进行如下操作任意次(可以为 00 次):

  • 选择一组整数 (i,j)(i,j),满足 1i<jN1\leq i<j\leq N。支付 Ai,jA_{i,j} 日元,如果顶点 ii 和顶点 jj 之间没有边,则添加一条边;如果已经有边,则删除该边。

请你求出,为了使 GGHH 同构,至少需要支付多少日元。

什么是简单无向图?简单无向图是指不包含自环和重边,且边没有方向的图。

什么是图的同构?对于 NN 个顶点的图 GGHH,如果存在一个排列 (P1,P2,,PN)(P_1,P_2,\ldots,P_N),使得对于任意 1i<jN1\leq i<j\leq N,有:

  • 当且仅当 GG 中存在连接顶点 ii 和顶点 jj 的边时,HH 中存在连接顶点 PiP_i 和顶点 PjP_j 的边,

则称 GGHH同构的。

输入格式

输入以如下格式从标准输入读入。

NN MGM_G
u1u_1 v1v_1
u2u_2 v2v_2
\vdots
uMGu_{M_G} vMGv_{M_G}
MHM_H
a1a_1 b1b_1
a2a_2 b2b_2
\vdots
aMHa_{M_H} bMHb_{M_H}
A1,2A_{1,2} A1,3A_{1,3} \ldots A1,NA_{1,N} A2,3A_{2,3} \ldots A2,NA_{2,N}
\vdots
AN1,NA_{N-1,N}

输出格式

请输出答案。

输入输出样例 #1

输入 #1

5
4
1 2
2 3
3 4
4 5
4
1 2
1 3
1 4
1 5
3 1 4 1
5 9 2
6 5
3

输出 #1

9

输入输出样例 #2

输入 #2

5
3
1 2
2 3
3 4
4
1 2
2 3
3 4
4 5
9 1 1 1
1 1 1
1 1
9

输出 #2

3

输入输出样例 #3

输入 #3

5
3
1 2
2 3
3 4
4
1 2
2 3
3 4
4 5
5 4 4 4
4 4 4
4 4
5

输出 #3

5

输入输出样例 #4

输入 #4

2
0
0
371

输出 #4

0

输入输出样例 #5

输入 #5

8
13
1 8
5 7
4 6
1 5
7 8
1 6
1 2
5 8
2 6
5 6
6 7
3 7
4 8
15
3 5
1 7
4 6
3 8
7 8
1 2
5 6
1 6
1 5
1 4
2 8
2 6
2 4
4 7
1 3
7483 1694 5868 3296 9723 5299 4326
5195 4088 5871 1384 2491 6562
1149 6326 2996 9845 7557
4041 7720 1554 5060
8329 8541 3530
4652 3874
3748

输出 #5

21214

说明/提示

数据范围

  • 1N81\leq N\leq 8
  • 0MGN(N1)20\leq M_G\leq\dfrac{N(N-1)}{2}
  • 0MHN(N1)20\leq M_H\leq\dfrac{N(N-1)}{2}
  • 1ui<viN (1iMG)1\leq u_i<v_i\leq N\ (1\leq i\leq M_G)
  • (ui,vi)(uj,vj) (1i<jMG)(u_i,v_i)\neq(u_j,v_j)\ (1\leq i<j\leq M_G)
  • 1ai<biN (1iMH)1\leq a_i<b_i\leq N\ (1\leq i\leq M_H)
  • (ai,bi)(aj,bj) (1i<jMH)(a_i,b_i)\neq(a_j,b_j)\ (1\leq i<j\leq M_H)
  • 1Ai,j106 (1i<jN)1\leq A_{i,j}\leq 10^6\ (1\leq i<j\leq N)
  • 输入均为整数

样例解释 1

给定的图如下所示。

例如,可以对 HH 依次进行如下 44 次操作,支付 99 日元使 GGHH 同构:

  • (i,j)=(1,3)(i,j)=(1,3) 进行操作。HH 中有顶点 1133 的边,支付 11 日元将其删除。
  • (i,j)=(2,5)(i,j)=(2,5) 进行操作。HH 中没有顶点 2255 的边,支付 22 日元将其添加。
  • (i,j)=(1,5)(i,j)=(1,5) 进行操作。HH 中有顶点 1155 的边,支付 11 日元将其删除。
  • (i,j)=(3,5)(i,j)=(3,5) 进行操作。HH 中没有顶点 3355 的边,支付 55 日元将其添加。

操作后,HH 如下所示。

无法用 88 日元或更少使 GGHH 同构,因此输出 9

样例解释 2

例如,依次对 (i,j)=(2,3),(2,4),(3,4)(i,j)=(2,3),(2,4),(3,4) 进行 33 次操作即可使 GGHH 同构。

样例解释 3

例如,仅对 (i,j)=(4,5)(i,j)=(4,5) 进行 11 次操作即可使 GGHH 同构。

样例解释 4

GGHH 也可能都没有边。也有可能不需要进行任何操作。

由 ChatGPT 4.1 翻译