#P11744. Dynamic TSP Problem

Dynamic TSP Problem

题目描述

A 国有 nn 个城市被 n1n-1 条道路连接!这 nn 座城市从 11nn 编号,其中第 ii 座城市有三个值 AiA_iBiB_i 以及 CiC_i 分别表示该城市的繁荣度、利润额和销售额。

你作为一个流浪商人,想要进行环游 A 国的 mm 次旅行。第 ii 次旅行可以描述为:以 XX 元的资金从城市 SiS_i 以最短距离走到城市 TiT_i,且最终资本需要大于等于 YiY_i,还有一个参数 KiK_i。你一路破产,一路贸易,一路生花。

  • 一路破产:你需要最开始携带 XX 元的资金,从城市 SiS_i 开始出发。
  • 一路贸易:你在途经的所有城市都需要进行贸易,包括出发城市和结束城市。 假设你刚来到城市 ii 拥有资金 ww 元,若资本 ww 不小于该城市的繁荣度 AiA_i,那么你可以在此获利 BiB_i。否则你会消耗 CiC_i 元的资金。路途中资金可以小于 00
  • 一路生花:抵达城市 TiT_i 并在城市 TiT_i 完成贸易后,你希望最后至少有 YiY_i 元的资金,且在路途中至少完成 KiK_i 次获利(即至少有 KiK_i 个城市满足当前资本不小于该城市的繁荣度 AiA_i)。YiY_i 可以小于 XX,因为你深知破产无关紧要,绕远的路,总有风景。

你需计算 XX 的最小值,使得每次旅行都以 XX 元资金出发,且最后都至少有 YiY_i 元的剩余且获利至少 KiK_i 次。保证 KiK_i 小于等于路径长度。

输入格式

第一行两个整数 n,mn,m,分别表示城市数量和旅行次数。

第二行至第 nn 行,每行两个整数 u,vu,v,表示 A 国的道路。

接下来有 nn 行,每行有三个整数 Ai,Bi,CiA_i,B_i,C_i,表示第 ii 个城市的繁荣度、利润额和销售额。

接下来有 mm 行,每行有三个整数 Si,Ti,Yi,KiS_i,T_i,Y_i,K_i,表示第 ii 次旅行从 SiS_i 出发,TiT_i 结束,且要求最终资金需要大于等于 YiY_i,获利次数大于等于 KiK_i

输出格式

输出一行一个整数 XX 表示最小的初始资金。

输入数据 1

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

输出数据 1

7

输入数据 2

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

输出数据 2

7

提示

【数据规模与约定】

本题开启子任务捆绑测试。本题自动开启 O2 优化。

  • Subtask 1(10 pts):n100n\leq 100m100m\leq 100
  • Subtask 2(25 pts):n500n\leq 500m3000m\leq 3000
  • Subtask 3(10 pts):Ai=BiA_i=B_iCi=0C_i=0
  • Subtask 4(10 pts):Bi=0B_i=0
  • Subtask 5(10 pts):Ci=0C_i=0
  • Subtask 6(10 pts):A 国的道路是一条链。
  • Subtask 7(25 pts):n500n\leq 500m2×105m\leq 2\times 10^5

对于所有测试点满足 n500n\leq 500m2×105m\leq 2\times 10^50Ai,Bi,Ci2×10140\leq A_i,B_i,C_i\leq 2\times 10^{14}SiTiS_i\not= T_i1Kin1\leq K_i\leq n1Yi10171\leq Y_i\leq 10^{17}