题目
问题描述
这是一道卡常大水题,会做的人也不要激动,希望大家不要被卡常。
给定一张$n$个点的有向完全图,点的编号为$1$到$n$,每一条边有两个权值,注意$x$到$y$的边和$y$到$x$的边的权值不一定相同。
现在你想选出一些边,使得任意两个点都可以仅经过这些边互相到达,并且这个边集中每种权值的最大值的和尽量小。保证图中至少有两个点,因此该边集显然不能为空。
输入格式
从文件shuiti.in中读入数据。
数据的第一行包括一个整数$n$,表示有向完全图的点数。
接下来是一个$n \times n$的矩阵,第$i$行第$j$列的整数$a_{ij}$当$i = j$时是$0$,当$i \neq j$时表示点$i$与点$j$之间的连边的第一种权值。
接下来是一个$n \times n$的矩阵,第$i$行第$j$列的整数$b_{ij}$当$i = j$时是$0$,当$i \neq j$时表示点$i$与点$j$之间的连边的第二种权值。
输出格式
输出到shuiti.out中。
输出一行一个整数,表示最小的和。
样例输入 1
3
0 1 2
2 0 1
1 2 0
0 3 1
1 0 3
3 1 0
样例输出 1
3
样例说明 1
一种最优解是选择边$1 \rightarrow 3, 3 \rightarrow 2, 2 \rightarrow 1$,两种权值的最大值分别是$2, 1$,因此答案是$2 + 1 = 3$。
样例输入输出 2
见下发的shuiti/shuiti.in与shuiti/shuiti.ans。
数据规模和约定
数据点 | $n$的规模 | 备注 |
$1$ | $n \leq 5$ | |
$2$ | $n \leq 50$ | $a_{ij} = 0$ |
$3$ | $n \leq 50$ | $a_{ij} = a_{ji}, b_{ij} = b_{ji}$ |
$4$ | $n \leq 50$ | |
$5$ | $n \leq 50$ | |
$6$ | $n \leq 50$ | |
$7$ | $n \leq 150$ | |
$8$ | $n \leq 150$ | |
$9$ | $n \leq 150$ | |
$10$ | $n \leq 150$ |
对于所有数据,$2 \leq n \leq 150$,$0 \leq a_{ij}, b_{ij} \leq 10^9$,$a_{ii} = b_{ii} = 0$。
提示
本题时限较紧,请注意尽量选择效率高的算法。
高维数组寻址的效率不高,因此优化高维数组寻址可以获得很高的效率提升。