AT_xmascon24_e.Embed the Tree

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一棵有 NN 个顶点的树,顶点编号为 1,2,…,N1, 2, \ldots, N。第 ii 条边(1≤i≤N−11 \le i \le N - 1)连接顶点 AiA_i 和顶点 BiB_i。

另外,给定 N×NN \times N 个非负整数 C(x,y)C(x, y)(1≤x,y≤N1 \le x, y \le N),且满足 C(x,y)=C(y,x)C(x, y) = C(y, x)。

对于 (1,2,…,N)(1, 2, \ldots, N) 的一个排列 p=(p(1),p(2),…,p(N))p = (p(1), p(2), \ldots, p(N)),定义 pp 的代价为 ∑i=1N−1C(p(Ai),p(Bi))\displaystyle\sum_{i=1}^{N-1} C(p(A_i), p(B_i))。

请你求出所有可能的代价的最小值,以及能够使代价达到最小值的排列 pp 的个数。

输入格式

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

NN
A1A_1 B1B_1
A2A_2 B2B_2
⋮\vdots
AN−1A_{N-1} BN−1B_{N-1}
C(1,1)C(1,1) C(1,2)C(1,2) ⋯\cdots C(1,N)C(1,N)
C(2,1)C(2,1) C(2,2)C(2,2) ⋯\cdots C(2,N)C(2,N)
⋮\vdots
C(N,1)C(N,1) C(N,2)C(N,2) ⋯\cdots C(N,N)C(N,N)

输出格式

请输出代价的最小值,以及能够使代价达到最小值的排列 pp 的个数,用空格隔开。

输入输出样例

  • 输入#1

    5
    1 2
    1 3
    2 4
    2 5
    0 7 9 5 7
    7 0 9 9 6
    9 9 0 5 9
    5 9 5 0 9
    7 6 9 9 0

    输出#1

    24 2
  • 输入#2

    7
    1 2
    2 3
    1 4
    4 5
    1 6
    6 7
    0 0 0 0 0 0 0
    0 0 0 0 0 0 0
    0 0 0 0 0 0 0
    0 0 0 0 0 0 0
    0 0 0 0 0 0 10000000
    0 0 0 0 0 0 10000000
    0 0 0 0 10000000 10000000 0

    输出#2

    0 2448

说明/提示

样例解释 1

代价的最小值为 2424,能达到该代价的 pp 有 22 个,分别为 (4,1,3,2,5)(4, 1, 3, 2, 5) 和 (4,1,3,5,2)(4, 1, 3, 5, 2)。

例如当 p=(4,1,3,2,5)p = (4, 1, 3, 2, 5) 时,代价为 C(4,1)+C(4,3)+C(1,2)+C(1,5)=5+5+7+7=24C(4, 1) + C(4, 3) + C(1, 2) + C(1, 5) = 5 + 5 + 7 + 7 = 24。

数据范围

  • 1≤N≤181 \le N \le 18。
  • 1≤Ai<Bi≤N1 \le A_i < B_i \le N(1≤i≤N−11 \le i \le N-1)。
  • 由 Ai,BiA_i, B_i 所决定的图为一棵树。
  • 0≤C(x,y)≤1070 \le C(x, y) \le 10^7(1≤x,y≤N1 \le x, y \le N)。
  • C(x,x)=0C(x, x) = 0(1≤x≤N1 \le x \le N)。
  • C(x,y)=C(y,x)C(x, y) = C(y, x)(1≤x,y≤N1 \le x, y \le N)。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页