A171744.Yuilice 的小区接送

普及+/提高

官方

通过率:0%

时间限制:3.00s

内存限制:256MB

题目描述

Yuilice 要为小区安排接送路线。小区有 nn 个站点和 n−1n-1 条双向道路,站点编号为 11 到 nn,道路构成一棵树。第 ii 个站点的端点服务费为 pip_i,每条道路有非负的行驶费用。

你需要把全部站点划分为若干条简单路径,每个站点恰好属于一条路径,路径之间不能有公共站点。简单路径不会重复经过站点,单独一个站点也算一条路径。

每条路径的费用按以下方式计算:

  • 支付一次固定派车费 CC。
  • 支付路径经过的每条道路的行驶费用。
  • 若路径至少包含两个站点,支付两个端点各自的服务费,内部站点不收费。
  • 若路径只有一个站点,只支付该站点一次服务费。

请计算所有路径费用之和的最小可能值。

输入格式

第一行包含一个整数 nn 和一个整数 CC。

第二行包含 nn 个整数 p1,…,pnp_1,\ldots,p_n。

接下来 n−1n-1 行,每行包含三个整数 u,v,wu,v,w,表示站点 u,vu,v 之间有一条行驶费用为 ww 的双向道路。保证这些道路构成一棵树。

输出格式

输出一个整数,表示最小总费用。

输入输出样例

  • 输入#1

    3 5
    0 100 0
    1 2 6
    2 3 6
    

    输出#1

    17
    
  • 输入#2

    1 7
    3
    

    输出#2

    10
    

说明/提示

样例解释

样例 11:将三个站点合成路径 1→2→31\to2\to3,费用为 5+6+6+0+0=175+6+6+0+0=17。若三个站点各自形成路线,费用为 15+100=11515+100=115;若只合并一条道路,费用为 10+6+100=11610+6+100=116。

样例 22:只有一条单站路线,费用为 7+3=107+3=10,服务费只计算一次。

数据范围

对于所有测试数据,满足 1≤n≤2×1051\le n\le2\times10^5,0≤C,pi,w≤1090\le C,p_i,w\le10^9,1≤u,v≤n1\le u,v\le n,u≠vu\ne v。道路无重边,图连通且无环。

特殊性质 S:存在一个站点与其余所有站点直接相邻;n=1n=1 时也视为满足此性质。

测试点 分值 额外限制
1–2 10 特殊性质 S
3–6 20 n≤18n\le18
7–20 70 无额外限制

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

首页