luogu#P5344. 【XR-1】逛森林
【XR-1】逛森林
题目背景
NaCly_Fish 和 PinkRabbit 是好朋友。
有一天她去森林里游玩,回去跟 PinkRabbit 说:“我发现好多棵会动的树耶!”
PinkRabbit 动了动一只兔耳朵:“这有什么好稀奇的,我用一只兔耳朵就能维护每棵树的形态。”
NaCly_Fish 不服:“不止这样,我还看到有一些传送门,能从一条树枝跳到另一条树枝上呢!”
PinkRabbit 动了动另一只兔耳朵:“这有什么好稀奇的,我用两只兔耳朵就能统计每个传送门的信息。”
于是 NaCly_Fish 很郁闷,她向你求助,请帮帮她吧。
什么?你不愿意帮?
那她就不给你这题的分了。
题目描述
给你 个节点的森林,初始没有边。
有 个操作,分为两种:
:表示构建一个单向传送门,从 简单路径上的所有节点,可以花费 的代价,到达 简单路径上的所有节点。若 到 或 到 不连通(由 操作产生的边不连通),则忽略此次操作。
:表示将 和 节点间连一条花费为 的无向边,若 和 之间已连通(由 操作产生的边连通)则忽略此次操作。
经过这 次操作后,请你求出从 节点出发,到每个节点的最小花费。
输入格式
第一行三个正整数 ,分别表示树的节点数、操作数、和起始节点。
接下来 行,每行若干个正整数,表示一次操作。
输出格式
输出一行 个整数,第 个整数表示从 节点出发,到 节点的最小花费。特别地,若不能到达节点,则输出 -1
。
9 11 5
2 2 1 2
2 3 1 5
2 4 2 10
2 5 3 9
2 6 5 3
2 7 6 6
2 8 7 2
2 9 4 2
1 1 1 4 9 2
1 8 5 1 6 1
1 3 6 9 6 1
1 1 1 1 0 1 7 9 1
提示
【样例说明】
这是样例中给出的树(严格来讲,这棵树也是一条链):
有三个传送门,其中两个是这样的:
- 从 号点可以花费 的代价到达 简单路径上的所有节点(即 号点)。
- 从 简单路径上的所有节点(即 号点)可以花费 的代价到达 简单路径上的所有节点(即 号点)。
容易看出从 号节点出发,到达其它节点的最小花费分别为:。
【数据规模与约定】
对于第 个测试点,,。
对于第 个测试点,,。
对于 的数据,,,,。
对于第 ~ 个测试点,每个 分。
对于第 个测试点,每个 分。