AT_arc198_d [ARC198D] Many Palindromes on Tree
题目描述
[problemUrl]: https://atcoder.jp/contests/arc198/tasks/arc198_d
给定一棵具有 $ N $ 个顶点的树 $ T $,顶点编号为 $ 1 $ 至 $ N $,以及一个 $ N \times N $ 的矩阵 $ A = (A_{i,j}) $。树 $ T $ 的第 $ i $ 条边连接顶点 $ U_i $ 和 $ V_i $。此外,矩阵 $ A $ 的元素为 $ 0 $ 或 $ 1 $。
我们定义整数序列 $ x = (x_1, x_2, \dots, x_N) $ 的**分数**如下:
- 对于顶点对 $ (i,j) $($ 1 \le i,j \le N $),设 $ T $ 中从 $ i $ 到 $ j $ 的唯一简单路径经过的顶点为 $ v_1 = i, v_2, \dots, v_n = j $(因为 $ T $ 是树,所以简单路径唯一)。如果对于所有 $ k $($ 1 \le k \le n $),都有 $ x_{v_k} = x_{v_{n+1-k}} $,则称 $ (i,j) $ 为**回文对**。
- 如果存在 $ (i,j) $ 满足 $ A_{i,j} = 1 $ 且 $ (i,j) $ 不是回文对,则 $ x $ 的分数为 $ 10^{100} $。
- 如果不存在这样的 $ (i,j) $,则 $ x $ 的分数为满足 $ 1 \le i,j \le N $ 且 $ (i,j) $ 是回文对的 $ (i,j) $ 的数量。
请计算所有可能的整数序列 $ x $ 的分数的最小值。
输入格式
输入通过标准输入给出,格式如下:
> $ N $
> $ U_1 $ $ V_1 $
> $ U_2 $ $ V_2 $
> $ \vdots $
> $ U_{N-1} $ $ V_{N-1} $
> $ A_{1,1}A_{1,2}\dots A_{1,N} $
> $ A_{2,1}A_{2,2}\dots A_{2,N} $
> $ \vdots $
> $ A_{N,1}A_{N,2}\dots A_{N,N} $
输出格式
输出所有整数序列 $ x $ 的分数的最小值。
说明/提示
### 约束条件
- $ 1 \le N \le 3000 $
- $ 1 \le U_i, V_i \le N $
- $ T $ 是一棵树。
- $ A_{i,j} \in \{0,1\} $
- $ A_{i,i} = 1 $
- $ A_{i,j} = A_{j,i} $
### 样例解释 #1
例如,当 $ x = (1,2,4,2) $ 时,不存在 $ (i,j) $ 满足 $ A_{i,j} = 1 $ 且 $ (i,j) $ 不是回文对。此时,回文对有 $ (1,1), (2,2), (3,3), (4,4), (2,4), (4,2) $ 共 $ 6 $ 个,因此分数为 $ 6 $。
另一方面,当 $ x = (1,2,3,4) $ 时,对于 $ (i,j) = (2,4) $,$ A_{2,4} = 1 $ 但 $ (2,4) $ 不是回文对,因此分数为 $ 10^{100} $。
翻译由 DeepSeek V3 完成