#P6594. [YsOI2020] 换寝室

    ID: 5569 Type: RemoteJudge 1000ms 128MiB Tried: 0 Accepted: 0 Difficulty: 5 Uploaded By: Tags>二分O2优化深度优先搜索,DFS树形 dp最近公共祖先,LCA差分

[YsOI2020] 换寝室

题目背景

马上要开学了,Ysuperman 正在为给孩子们分配寝室忙得不可开交......

题目描述

幼儿园里面有 nn 个房间,这些房间由 n1n-1 条双向道路连接着,第 ii 条道路连接着房间 uiu_iviv_i ,每条道路 Ysuperman 都可以选择开启或者是关闭,每个房间在所有道路开启的前提下都可以到达其他任意一个房间。

每个房间有一个差异值,其中,第 ii 个房间的差异值为 hih_i

在选择完关闭哪些道路后,整个寝室会被分成许多连通块,一个联通块内的小朋友的不满意值定义为连通块内差异值的最大值减去最小值,小朋友们的总不满意值定义为所有联通块不满意值的最大值

寝室里有 mm 个寝室老师,每个老师晚上都要查寝,第 ii 个老师会从第 xix_i 个房间走到第 yiy_i 个房间,如果老师在查寝时经过了某条被关闭的道路,TA就会很生气,一个老师的不满意值定义为xix_i 走到 yiy_i 经过的被关闭的道路数量,老师的总不满意值定义为所有老师的不满意值之和

Ysuperman 能承受的老师的总不满意值最大为 kk ,现在TA想知道小朋友们的总不满意值最小可以达到多少。

输入格式

输入共 n+m+1n+m+1 行。

第一行三个整数 n,m,kn,m,k,表示房间个数,寝室老师个数和Ysuperman 能承受的老师的总不满意值。

接下来一行,共 nn 个整数,第 ii 个整数是 hih_i,表示第 ii 个房间的差异值。

接下来 n1n-1 行,每行两个整数,第 i+2i+2 行是 uiu_iviv_i,表示寝室 ui,viu_i,v_i 之间有直接道路。

接下来 mm 行,每行两个整数,第 i+n+1i+n+1 行是 xix_iyiy_i,表示第 ii 个老师的查寝路线。

输出格式

一行一个整数,即答案。

5 2 0
1 3 1 4 0
1 2
1 3
1 4
1 5
2 3
1 4
3
5 2 1
1 3 1 4 0
1 2
1 3
1 4
1 5
2 3
1 4
2

提示

样例说明

样例说明 11

Ysuperman选择关闭连接着 1155 的道路,老师的总不满意值为 00,寝室被分为 22 个连通块,小朋友们的总不满意值为 33

样例说明 22

图同样例一。

Ysuperman选择关闭连接着 1155 的道路以及连接着 1144 的道路,老师的总不满意值为 11,寝室被分为 33 个连通块,小朋友们的总不满意值为 22


数据范围

本题采用捆绑测试。

Subtask nn mm kk 特殊性质 分数
1 20\le 20 10\le 10 80\le 80 8
2 150\le 150 103\le 10^3 8×104\le 8 \times 10^4 13
3 800\le 800 105\le 10^5 8×107\le 8 \times 10^7 树为一条链
4 树为一朵盛开的菊花
5 =0= 0
6 8×107\le 8 \times 10^7 40

【一条链】定义为:所有点的度数 2\le2

【一朵盛开的菊花】定义为:存在一个点的度数为 n1n-1

对于 100%100\% 的数据,满足 1hi1090k8107,uivi1\le h_i\le 10^9,0\le k \le 8\cdot 10^7,u_i\ne v_i