AT_abc338_f [ABC338F] Negative Traveling Salesman
题目描述
有一个包含 $N$ 个顶点和 $M$ 条边的带权有向简单图。顶点编号为 $1$ 到 $N$,第 $i$ 条边是从顶点 $U_i$ 指向顶点 $V_i$,权值为 $W_i$。这里,权值可以为负数,但图中不存在负权回路。
请判断是否存在一条经过所有顶点至少一次的“行走”(Walk),如果存在,求经过的边权之和的最小值。注意,如果同一条边经过多次,其权值会被多次累加。
所谓“经过所有顶点至少一次的行走”是指,存在一个顶点序列 $v_1,v_2,\dots,v_k$,满足以下条件:
- 对于所有 $i\ (1\leq i\leq k-1)$,存在一条从 $v_i$ 到 $v_{i+1}$ 的有向边;
- 对于所有 $j\ (1\leq j\leq N)$,存在至少一个 $i\ (1\leq i\leq k)$ 使得 $v_i = j$。
输入格式
输入以如下格式从标准输入读入。
> $N$ $M$
> $U_1$ $V_1$ $W_1$
> $U_2$ $V_2$ $W_2$
> $\vdots$
> $U_M$ $V_M$ $W_M$
输出格式
如果存在经过所有顶点至少一次的行走,输出经过的边权之和的最小值;否则输出 `No`。
说明/提示
## 限制条件
- $2 \leq N \leq 20$
- $1 \leq M \leq N(N-1)$
- $1 \leq U_i, V_i \leq N$
- $U_i \neq V_i$
- $(U_i, V_i) \neq (U_j, V_j)\ (i \neq j)$
- $-10^6 \leq W_i \leq 10^6$
- 给定的图中不存在负权回路
- 所有输入均为整数
## 样例解释 1
按顶点 $2\rightarrow 1\rightarrow 2\rightarrow 3$ 的顺序行走,可以经过所有顶点一次以上,经过的边权之和为 $(-3)+5+(-4)=-2$,这是最小值。
## 样例解释 2
不存在经过所有顶点至少一次的行走。
由 ChatGPT 4.1 翻译