测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A6292. Welcome24ever 和电路板

编程题 普及+/提高
知识点

题目描述

Welcome24ever 在电子工艺实习课上学习焊接电路板。一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字 $1,2,3,\dots$ 进行标号。电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点,都存在且仅存在一条通路(通路指连接两个元件的导线序列),也就是说这些节点构成一棵树。

在电路板上存在一个特殊的元件,称为「激发器」,它的编号为 $S$。当激发器工作后,产生一个激励电流,通过导线传向每一个它所连接的节点。中间节点接收到激励电流后,得到信息,并会立刻将激励电流传向与它连接且尚未接收到激励电流的节点。最终,激励电流将到达一些「终止节点」——接收激励电流之后不再转发的节点(在树上就是那些叶子结点)。

激励电流在导线上的传播需要花费时间。对于每条边 $e$,激励电流通过它需要的时间为 $t_e$,而节点接收到激励电流后的转发可以认为在瞬间完成。

现在要求:所有的终止节点必须**同时**接收到激励电流,即保持时态同步。由于当前构造并不满足这一要求,需要通过改变连接线的构造来调整。

Welcome24ever 有一个道具,使用一次该道具,可以使得激励电流通过某一条导线的时间增加 $1$ 个单位(可以对同一条导线多次使用)。问:最少需要使用多少次道具,才能使所有终止节点都在同一时刻收到激励电流?

输入格式

第一行包含一个正整数 $N$,表示电路板中节点的个数。

第二行包含一个整数 $S$,表示激发器的编号。

接下来 $N-1$ 行,每行包含三个整数 $a, b, t$,表示存在一条导线连接节点 $a$ 和节点 $b$,且激励电流通过这条导线需要 $t$ 个单位时间。

保证这些节点和导线构成一棵树。

输出格式

输出一个整数 $V$,表示 Welcome24ever 最少需要使用道具的次数。

输入输出样例

输入 #1
3
1
1 2 1
1 3 3
输出 #1
2

说明/提示

在样例中,以节点 1 为激发器:

- 到节点 2 的时间为 1;
- 到节点 3 的时间为 3。

可以将边 $(1,2)$ 的时间从 1 增加到 3,一共增加 2 个单位时间。此时两个终止节点 2 和 3 都在时间 3 收到激励电流,实现时态同步,且这是最少的代价。

## 说明/提示

- 对于 $100\%$ 的数据,$1\le N\le 5\times 10^5$。

- 对于所有的数据,$1\le t_e\le 10^6$。
上一题 去做题 下一题