#P15619. [ICPC 2022 Jakarta R] City Hall

    ID: 15565 远端评测题 1000ms 256MiB 尝试: 0 已通过: 0 难度: 8 上传者: 标签>2022Special Judge最短路凸包ICPC李超线段树

[ICPC 2022 Jakarta R] City Hall

说明

你是 ICPC 市的市长。该市有 NN 个交叉路口,编号从 11NN,其中交叉路口 ii 的海拔为 HiH_i。你的家位于交叉路口 SS,而市政厅位于交叉路口 TT

市内有 MM 条双向道路,编号从 11MM,用于连接这些交叉路口。道路 ii 直接连接交叉路口 UiU_iViV_i。每对交叉路口之间最多只能由一条道路直接连接。道路的连接方式保证了从任何一个交叉路口出发,都可以通过遍历一条或多条道路到达任何其他交叉路口。

每天早晨,你都会骑自行车从家前往市政厅。假设你正在遍历一条直接连接交叉路口 uuvv 的道路,那么你通过该道路所消耗的能量为 (HuHv)2(H_u - H_v)^2。一条路径所需的总能量,就是该路径上遍历每条道路所消耗的能量之和。

作为市长,你被允许将最多一个交叉路口的海拔更改为任意非负实数。利用这个机会,你希望最小化从家骑自行车到市政厅所需的总能量。

输入格式

输入以 44 个整数 NN MM SS TT 开始(2N1000002 \leq N \leq 100\,000N1Mmin(N(N1)2,200000)N - 1 \leq M \leq \min(\frac{N(N-1)}{2}, 200\,000)1S,TN1 \leq S, T \leq NSTS \neq T)。下一行包含 NN 个整数 HiH_i0Hi1000000 \leq H_i \leq 100\,000),表示交叉路口 ii 的海拔。

接下来的 MM 行,每行包含 22 个整数 UiU_i ViV_i1Ui<ViN1 \leq U_i < V_i \leq N),表示由道路 ii 直接连接的交叉路口。每对交叉路口之间最多只能由一条道路直接连接。此外,道路的连接方式保证了从任何一个交叉路口出发,都可以通过遍历一条或多条道路到达任何其他交叉路口。

输出格式

在一行中输出一个实数,表示所需的最小总能量。只要你的答案的绝对误差不超过 10610^{-6},即被视为正确。

5 6 1 3
5 100 8 2 10
1 2
2 3
2 5
1 4
4 5
3 5
4.500000
5 5 1 5
1 2 10 10 4
1 2
2 3
2 4
3 5
4 5
3.000000
5 4 1 4
8 8 8 8 100
1 2
2 3
3 4
4 5
0.000000

提示

样例输入/输出 #1 的解释

为了获得所需的最小总能量,你应该将交叉路口 22 的海拔更改为 6.56.5。那么,骑行路线 1231 \rightarrow 2 \rightarrow 3 所需的总能量为 (56.5)2+(86.5)2=4.5(5 - 6.5)^2 + (8 - 6.5)^2 = 4.5

样例输入/输出 #2 的解释

为了获得所需的最小总能量,你可以选择交叉路口 33 或交叉路口 44,并将其海拔更改为 33

样例输入/输出 #3 的解释

骑行路线 12341 \rightarrow 2 \rightarrow 3 \rightarrow 4 所需的总能量为 00,因为该路线上所有交叉路口的海拔都相同。更改任何交叉路口的海拔都不会减少所需的总能量。

翻译由 DeepSeek 完成