QOJ.ac

QOJ

実行時間制限: 5 s メモリ制限: 512 MB 満点: 100 ハック可能 ✓

#904. 最小树形图

統計

给定一个包含 $N$ 个顶点和 $M$ 条边的简单加权有向图。第 $i$ 条边为 $(a_i, b_i)$,权重为 $c_i$。

求以顶点 $S$ 为根的最小树形图(即从 $S$ 出发可以到达所有顶点)。

数据范围

  • $1 \leq N \leq 2 \times 10^5$
  • $N - 1 \leq M \leq 2 \times 10^5$
  • $0 \leq S < N$
  • $0 \leq a_i, b_i < N$
  • $a_i \neq b_i$
  • $(a_i, b_i) \neq (a_j, b_j) (i \neq j)$
  • $0 \leq c_i \leq 10^9$
  • 顶点 $S$ 可到达所有其他顶点

输入格式

  • $N$ $M$ $S$
  • $a_0$ $b_0$ $c_0$
  • $a_1$ $b_1$ $c_1$
  • $\vdots$
  • $a_{M - 1}$ $b_{M - 1}$ $c_{M - 1}$

输出格式

  • $X$
  • $p_0$ $p_1$ $p_2$ ... $p_{N - 1}$

其中 $X$ 是最小树形图中所有边的权重之和,$p_i$ 是顶点 $i$ 的父节点,且令 $p_S = S$。

若存在多个合法的解,输出其中任意一个即可。

样例

输入格式 1

4 4 0
0 1 10
0 2 10
0 3 3
3 2 4

输出格式 1

17
0 0 3 0

输入格式 2

7 8 3
3 1 10
1 2 1
2 0 1
0 1 1
2 6 10
6 4 1
4 5 1
5 6 1

输出格式 2

24
2 3 1 3 6 4 2

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.