AT_kupc2021_e.PERMST

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

有一个包含 NN 个顶点、MM 条边的无向简单连通图 GG。GG 的顶点编号为 11 到 NN,边编号为 11 到 MM。第 ii 条边连接顶点 uiu_i 和顶点 viv_i。

给定一个长度为 MM 的只包含 00 和 11 的数列 C=(c1,c2,…,cM)C = (c_1, c_2, \ldots, c_M)。当 ci=0c_i = 0 时,第 ii 条边被涂成蓝色;当 ci=1c_i = 1 时,第 ii 条边被涂成红色。满足 ci=1c_i = 1 的 ii 恰好有 N−1N-1 个,并且所有红色的边构成 GG 的一棵生成树。

请在满足下述条件的所有 11 到 MM 的排列 P=(p1,p2,…,pM)P = (p_1, p_2, \ldots, p_M) 中,输出字典序最小的一个:

  • 若将第 ii 条边的权值设为 pip_i,则 GG 的最小生成树所用的所有边都是红色的。
  • 此时,GG 的最小生成树是唯一确定的。

输入格式

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

NN MM u1u_1 v1v_1 c1c_1 u2u_2 v2v_2 c2c_2 ⋮\vdots uMu_M vMv_M cMc_M

输出格式

请输出满足条件的排列 P=(p1,p2,…,pM)P = (p_1, p_2, \ldots, p_M) 中字典序最小的一个,格式如下,末尾需换行。

不得包含多余的空格或除末尾外的换行。(2021年10月31日 14:21 补充)

p1p_1 p2p_2 …\ldots pMp_M

输入输出样例

  • 输入#1

    4 5
    1 2 0
    2 3 1
    3 4 1
    2 4 0 
    1 3 1

    输出#1

    3 1 4 5 2

说明/提示

限制条件

  • 2≤N≤2×1052 \le N \le 2 \times 10^5
  • N−1≤M≤2×105N - 1 \le M \le 2 \times 10^5
  • 1≤ui<vi≤N1 \le u_i < v_i \le N
  • 对于 1≤i<j≤M1 \leq i < j \leq M,有 (ui,vi)≠(uj,vj)(u_i, v_i) \neq (u_j, v_j)
  • ci∈{0,1}c_i \in \{0, 1\}
  • {边 i∣ci=1}\{ \text{边 } i \mid c_i = 1 \} 构成 GG 的一棵生成树。

样例解释 1

当 P=(3,1,4,5,2)P = (3, 1, 4, 5, 2) 时,将第 ii 条边的权值设为 PiP_i,此时最小生成树所用的所有边都是红色的。P=(4,1,2,5,3)P = (4, 1, 2, 5, 3) 也满足条件,但字典序最小的是 (3,1,4,5,2)(3, 1, 4, 5, 2)。

由 ChatGPT 4.1 翻译

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

首页