#P10347. jerry and tom

jerry and tom

题目描述

事情又要从《Tom & Jerry》说起,自从 Tom 发现自己总是抓不住 Jerry,他就决定与 Jerry 和平相处。

Jerry 的 nn 个老鼠洞连成了一棵树,按照约定 Tom 需要在树的每条边上放上一些奶酪,具体地:

  • 在每条边上放奶酪有不同的难度,在第 ii 条边上放奶酪的难度为 did_i
  • Jerry 规定了 mm 条限制,每一条限制给定两个点 u,vu,v 和一个值 ww,要求从 uuvv 的路径上所有边的奶酪数之和至少为 ww保证 uu11vv 的简单路径上
  • Tom 希望放一些奶酪满足 Jerry 的所有限制,设他在第 ii 条边放了 cic_i 单位奶酪(cic_i一个非负数),他希望 di×ci\sum d_i\times c_i 最小。

你能帮 Tom 算出这个和式的最小值吗?我们可以说明,结果是一个整数。

输入格式

第一行:两个整数 n,mn,m,分别表示树的点数和限制的数量。

接下来 n1n-1 行:每行两个整数 x,dx,d,其中第 ii 行表示结点 x,i+1x,i+1 间有一条边(xix\leq i),dd 为这条边的难度。

接下来 mm 行:每行三个整数 u,v,wu,v,w,描述一条限制。

输出格式

输出一行,表示答案。

样例输入
3 2
1 5
2 8
1 3 3
2 3 2
样例输出
21
样例解释

Tom 选择在 121\to 2 这条边上放 11 单位奶酪,在 232\to 3 这条边上放 22 单位奶酪。

数据范围

对于 100%100\% 的数据:1n10001\leq n\leq 10001m40001\leq m\leq 40001d501\leq d\leq 501w10001\leq w\leq 10001x,u,vn1\leq x,u,v\leq nuvu\ne v

子任务编号 max(n,m)\max(n,m)\leq 特殊限制 分值
Subtask 1\text{Subtask 1} 40004000 所有限制对应路径边不交 1515
Subtask 2\text{Subtask 2} 1010 w=1w=1
Subtask 3\text{Subtask 3} 20002000
Subtask 4\text{Subtask 4} d=1d=1
Subtask 5\text{Subtask 5} 600600 2020
Subtask 6\text{Subtask 6} 40004000
提示
  1. 您的算法可能比您想象的快

  2. 评测机可能比您想象的快

  3. 上面两条提示可能没有用