luogu#P9487. 「LAOI-1」小熊游景点

    ID: 13458 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>线段树倍增洛谷原创O2优化树形 dp树链剖分st表分类讨论

「LAOI-1」小熊游景点

题目描述

小熊的地图上有 nn 个景点,每个景点有分数 sis_i

n1n-1 个点对之间有双向直达的公交线路,每条线路有收费 wiw_i

现在小熊在 aa 景点,总司令在 bb 景点,他们要在 aba\to b 路径上的 pp 景点汇合,然后一起去 qq 景点。(qq 为任意点,每个人不会游览两次 pp 景点)

mm 次询问,给定 a,ba,b,求 p,qp,q,使得小熊和总司令花费之和最小的前提下他们经过的景点分数之和最大,输出他们经过的景点分数之和。(指小熊经过的景点分数之和 ++ 总司令经过的景点分数之和)

重复经过的线路收费重复计算,重复经过的景点分数重复计算。

输入格式

第一行两个整数 n,mn,m。分别表示景点个数和询问次数。

接下来一行 nn 个整数 第 ii 个整数 sis_i 表示第 ii 个景点的权值。

接下来 n1n-1 行,每行 33 个整数 u,v,wu,v,w,表示 uu 节点和 vv 节点之间有一条收费 ww 的双向公交路线。

接下来 mm 行,每行两个整数 aabb,表示小熊和总司令所在的景点位置。

输出格式

对于每组询问,每行输出一个整数表示结果。

7 1
1 1 1 1 1 1 1
1 2 3
3 6 -4
2 5 2
1 3 6
2 4 1
3 7 5
4 7
8
10 10
786755 -687509 368192 154769 647117 -713535 337677 913223 -389809 -824004 
1 2 -785875
1 3 -77082
1 4 -973070
3 5 -97388
2 6 -112274
3 7 657757
4 8 741733
3 9 5656
4 10 -35190
3 3
3 10
7 3
5 1
2 10
10 10
1 6
7 2
8 9
9 1

971424
-1257332
1309101
3420605
-2313033
-2567048
-2467802
352646
759321
1368370

提示

样例说明

对于第一组样例,小熊的地图如图所示:

其中 a=4,b=7a=4,b=7,令 p=3,q=6p=3,q=6

小熊的路径为 421364\to2\to1\to3\to6,花费之和为 1+3+6+(4)=61+3+6+(-4)=6,景点分数之和为 1+1+1+1+1=51+1+1+1+1=5

总司令的路径为 7367\to3\to6,花费之和为 5+(4)=15+(-4)=1,景点分数之和为 1+1+1=31+1+1=3

小熊和总司令花费之和为 6+1=76+1=7,经过的景点分数之和为 5+3=85+3=8

可以证明此时小熊和总司令花费之和最小的前提下他们经过的景点分数之和最大。


数据范围

本题采用捆绑测试。

Subtask n,mn,m si,wis_i,w_i 特殊性质 分数
11 =3×105=3\times10^5 [0,106]\in\lbrack0,10^6\rbrack 1010
22 [106,106]\in\lbrack-10^6,10^6\rbrack 小熊的地图是一条链
33 =3×102=3\times10^2 55
44 =3×103=3\times10^3 1515
55 3×105\le 3\times10^5 6060

对于 100%100\% 的数据,1n,m3×1051\le n,m\le 3\times 10^5si,wi106\vert s_i\vert,\vert w_i\vert\le10^6,小熊的地图是一棵树。

(小熊都可以游览景点了,公交价格和景点分数怎么不可以是负数呢?)