AT_kupc2019_h.123パズル

通过率:0%

AC君温馨提醒

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

题目描述

你正在设计一个铅笔谜题。

这个谜题是由 NN 个顶点和 MM 条有向边组成的简单图。

顶点编号为 11 到 NN,边编号为 11 到 MM。

边 ii 表示从顶点 uiu_i 指向顶点 viv_i,并且带有一个标签 li (li∈{0,1})l_i\ (l_i \in \{0, 1\})。

游戏规则如下:

  • 在每个顶点上填入一个数字,可能是 1,2,31, 2, 3 中的一个。顶点 ii 上写的数字记为 AiA_i。
  • 对于所有边 i (1≤i≤M)i\ (1 \leq i \leq M),符合以下条件的填法即为该谜题的解:
    • 如果 li=0l_i = 0,则要求 Aui<AviA_{u_i} < A_{v_i}
    • 如果 li=1l_i = 1,则要求 Aui≤AviA_{u_i} \leq A_{v_i}

你发明了这个谜题,但是还没确认它是否有解。

即便没有解,你仍希望找到一个尽可能合理的解法。因此,你需要找到一种填法,使得不满意度降到最低。

不满意度的计算方式如下:

  • 对于每条边 i (1≤i≤M)i\ (1 \leq i \leq M),计算 CiC_i:
    • 如果 li=0l_i = 0,则 Ci=max⁡(0,Aui−Avi+1)C_i = \max(0, A_{u_i} - A_{v_i} + 1)
    • 如果 li=1l_i = 1,则 Ci=max⁡(0,Aui−Avi)C_i = \max(0, A_{u_i} - A_{v_i})
  • 总不满意度为所有 CiC_i 的和。

当谜题有解时,总不满意度可以达到 00。

请计算出不满意度的最小值。

输入格式

输入以以下格式给出:

NN MM u1u_1 v1v_1 l1l_1 u2u_2 v2v_2 l2l_2 :: uMu_M vMv_M lMl_M

输出格式

输出不满意度的最小值。

输入输出样例

  • 输入#1

    4 3
    1 2 0
    2 3 1
    3 4 0

    输出#1

    0
  • 输入#2

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

    输出#2

    1

说明/提示

  • 2≤N≤50002 \leq N \leq 5000
  • 1≤M≤min⁡(5000,N×(N−1))1 \leq M \leq \min(5000, N \times (N-1))
  • 1≤ui,vi≤N1 \leq u_i, v_i \leq N
  • ui≠viu_i \neq v_i
  • 对于所有 1≤i,j≤N1 \leq i, j \leq N,如果 i≠ji \neq j,那么 (ui,vi)≠(uj,vj)(u_i, v_i) \neq (u_j, v_j)
  • li∈{0,1}l_i \in \{0, 1\}
  • 输入的所有数值均为整数。

样例解释 1

选择 A=(1,2,2,3)A = (1, 2, 2, 3) 即可满足所有条件:

  • A1<A2A_1 < A_2
  • A2≤A3A_2 \leq A_3
  • A3<A4A_3 < A_4
    此时不满意度为 00。

样例解释 2

选择 A=(1,2,2,2,3,2)A = (1, 2, 2, 2, 3, 2),此时 C=(0,0,1,0,0,0,0,0,0)C = (0, 0, 1, 0, 0, 0, 0, 0, 0),不满意度为 11。无法使不满意度为 00,因此不满意度的最小值为 11。

本翻译由 AI 自动生成

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

首页