luogu#P11324. 【MX-S7-T2】「SMOI-R2」Speaker

【MX-S7-T2】「SMOI-R2」Speaker

题目背景

原题链接:https://oier.team/problems/S7B

题目描述

M 国有 nn 个城市和 n1n - 1 条双向道路,城市编号为 1,2,,n1,2,\dots,n保证这些城市连通,即构成了一棵树。其中,第 ii 条道路连接了城市 uiu_i 和城市 viv_i,路费为 wiw_i。你是一名演说家,每天都要在 M 国举办三场演讲,每场演讲都会在某一个城市进行。在城市 ii 举办一场演讲可以获得 cic_i 的收入,同一天内可以在同一个城市举办多场演讲

接下来有 qq 天,第 ii 天的安排如下:你的第一场演讲必须在城市 xix_i 举行,第三场演讲必须在城市 yiy_i 举行,而第二场演讲所在的城市可以自由选择。设第二场演讲所在的城市为 ziz_i,你需要向交通管理局支付经过 xizix_i \to z_i 路径以及 ziyiz_i \to y_i 路径上所有道路的路费。注意,一条道路如果被多次经过,每次经过都需要支付相应的路费

对于每一天,请计算当天可以获得的最大利润,即总收入减去总路费的最大值注意,答案可能是负数

输入格式

第一行,两个正整数 n,qn,q

第二行,nn 个非负整数 c1,c2,,cnc_1,c_2,\dots,c_n

接下来 n1n - 1 行,每行三个非负整数 ui,vi,wiu_i,v_i,w_i,表示第 ii 条道路。

接下来 qq 行,每行两个正整数 xi,yix_i,y_i,表示第 ii 天的安排。

输出格式

qq 行,每行一个整数,表示第 ii 天的最大利润。

4 3
4 6 2 7
1 2 5
2 3 2
2 4 4
1 1
3 4
3 3
12
10
6

提示

【样例解释 #1】

  • 第一天选择城市 11,答案为 4+4+400=124 + 4 + 4 - 0 - 0 = 12
  • 第二天选择城市 44,答案为 2+7+760=102 + 7 + 7 - 6 - 0 = 10
  • 第三天选择城市 22,答案为 2+6+222=62 + 6 + 2 - 2 - 2 = 6

【样例 #2】

见附件中的 speaker/speaker2.inspeaker/speaker2.ans

该组样例满足测试点 787\sim 8 的约束条件。

【样例 #3】

见附件中的 speaker/speaker3.inspeaker/speaker3.ans

该组样例满足测试点 111311\sim 13 的约束条件。

【样例 #4】

见附件中的 speaker/speaker4.inspeaker/speaker4.ans

该组样例满足测试点 171917\sim 19 的约束条件。

【数据范围】

对于所有测试数据,保证:1n,q2×1051\le n, q\le 2\times 10^51ui,vin1\le u_i, v_i \le n0wi,ci1090\le w_i, c_i\le 10^9,所有城市和道路构成了一棵树,1xi,yin1\le x_i, y_i \le n

测试点编号 nn\le qq\le 特殊性质
141\sim 4 400400
55 20002000 20002000 A
66 B
787\sim 8
99 2×1052\times 10^5 A
1010 C
111311\sim 13
141514\sim 15 2×1052\times 10^5 33
1616 2×1052\times 10^5 A
171917\sim 19 C
202520\sim 25
  • 特殊性质 A:每个城市至多被两条道路连接。
  • 特殊性质 B:存在一座城市 ii1in1\le i\le n),满足对于所有其他城市 jj1jn1\le j\le njij \ne i),都存在连接城市 ii 与城市 jj 的道路。
  • 特殊性质 C:对所有 1iq1 \le i \le q,都有 xi=1x_i = 1