AT_kupc2019_h 123パズル
题目描述
你正在设计一个铅笔谜题。
这个谜题是由 $N$ 个顶点和 $M$ 条有向边组成的简单图。
顶点编号为 $1$ 到 $N$,边编号为 $1$ 到 $M$。
边 $i$ 表示从顶点 $u_i$ 指向顶点 $v_i$,并且带有一个标签 $l_i\ (l_i \in \{0, 1\})$。
游戏规则如下:
- 在每个顶点上填入一个数字,可能是 $1, 2, 3$ 中的一个。顶点 $i$ 上写的数字记为 $A_i$。
- 对于所有边 $i\ (1 \leq i \leq M)$,符合以下条件的填法即为该谜题的解:
- 如果 $l_i = 0$,则要求 $A_{u_i} < A_{v_i}$
- 如果 $l_i = 1$,则要求 $A_{u_i} \leq A_{v_i}$
你发明了这个谜题,但是还没确认它是否有解。
即便没有解,你仍希望找到一个尽可能合理的解法。因此,你需要找到一种填法,使得不满意度降到最低。
不满意度的计算方式如下:
- 对于每条边 $i\ (1 \leq i \leq M)$,计算 $C_i$:
- 如果 $l_i = 0$,则 $C_i = \max(0, A_{u_i} - A_{v_i} + 1)$
- 如果 $l_i = 1$,则 $C_i = \max(0, A_{u_i} - A_{v_i})$
- 总不满意度为所有 $C_i$ 的和。
当谜题有解时,总不满意度可以达到 $0$。
请计算出不满意度的最小值。
输入格式
输入以以下格式给出:
> $N$ $M$ $u_1$ $v_1$ $l_1$ $u_2$ $v_2$ $l_2$ $:$ $u_M$ $v_M$ $l_M$
输出格式
输出不满意度的最小值。
说明/提示
- $2 \leq N \leq 5000$
- $1 \leq M \leq \min(5000, N \times (N-1))$
- $1 \leq u_i, v_i \leq N$
- $u_i \neq v_i$
- 对于所有 $1 \leq i, j \leq N$,如果 $i \neq j$,那么 $(u_i, v_i) \neq (u_j, v_j)$
- $l_i \in \{0, 1\}$
- 输入的所有数值均为整数。
### 样例解释 1
选择 $A = (1, 2, 2, 3)$ 即可满足所有条件:
- $A_1 < A_2$
- $A_2 \leq A_3$
- $A_3 < A_4$
此时不满意度为 $0$。
### 样例解释 2
选择 $A = (1, 2, 2, 2, 3, 2)$,此时 $C = (0, 0, 1, 0, 0, 0, 0, 0, 0)$,不满意度为 $1$。无法使不满意度为 $0$,因此不满意度的最小值为 $1$。
**本翻译由 AI 自动生成**