P17138 [KOI 2026 #1] 步道

题目描述

KOI 山上共有 $N$ 个休息站,编号为 $1$ 到 $N$,以及连接这些休息站的 $N-1$ 条双向步道。 对于每个整数 $i$($1 \le i \le N$),休息站 $i$ 的拥挤程度用正整数 $A_i$ 表示。 对于每个整数 $j$($1 \le j \le N-1$),第 $j$ 条步道连接休息站 $j$ 与休息站 $C_j$($j+1 \le C_j \le N$),其长度为 $L_j$。也就是说,所有休息站通过这些步道连接成一棵树。 孤独的徒步者教俊打算选择两个不同的休息站,并沿着这两个休息站之间唯一的简单路径散步。 对于选定的一条路径,定义: - $S$ 为该路径所包含的所有步道的长度之和; - $M$ 为该路径所包含的所有休息站的拥挤程度的最大值。 教俊既希望尽可能延长散步距离,又希望在人少的地方独自享受散步,因此将这条路径的满意度定义为 $S-M$。 请编写一个程序,求出教俊应当选择哪两个休息站,才能使散步路径的满意度最大。

输入格式

第一行输入一个整数 $N$。 第二行输入 $N$ 个整数 $A_1,A_2,\ldots,A_N$,整数之间以空格分隔。 第三行输入 $N-1$ 个整数 $C_1,C_2,\ldots,C_{N-1}$,整数之间以空格分隔。 第四行输入 $N-1$ 个整数 $L_1,L_2,\ldots,L_{N-1}$,整数之间以空格分隔。

输出格式

第一行输出两个不同的休息站编号,编号之间以空格分隔,使得这两个休息站之间路径的满意度最大。 如果存在多种可行的输出,输出其中任意一种均可。

说明/提示

### 样例说明 1 休息站 $1$ 与休息站 $2$ 之间路径的满意度为 $-1$,且该值为所有路径满意度中的最大值。 ### 样例说明 2 所有可能路径的满意度如下: - 路径 $1-2$ 的满意度为 $3-\max\{6,10\}=3-10=-7$。 - 路径 $1-2-4-3$ 的满意度为 $(3+21+15)-\max\{6,10,20,1\}=39-20=19$。 - 路径 $1-2-4$ 的满意度为 $(3+21)-\max\{6,10,1\}=24-10=14$。 - 路径 $2-4-3$ 的满意度为 $(21+15)-\max\{10,20,1\}=36-20=16$。 - 路径 $2-4$ 的满意度为 $21-\max\{10,1\}=21-10=11$。 - 路径 $3-4$ 的满意度为 $15-\max\{20,1\}=15-20=-5$。 ### 限制条件 - 输入中给出的所有数均为整数。 - $2 \le N \le 300\,000$。 - 对于每个整数 $i$($1 \le i \le N$),均有 $1 \le A_i \le 10^{18}$。 - 对于每个整数 $j$($1 \le j \le N-1$),均有 $j+1 \le C_j \le N$ 且 $1 \le L_j \le 10^{12}$。 ### 子任务 1. ($8$ 分)$N \le 300$。 2. ($12$ 分)$N \le 7\,500$。 3. ($11$ 分)$A_1=A_2=\cdots=A_N$。 4. ($15$ 分)对于每个整数 $j$($1 \le j \le N-1$),均有 $C_j=j+1$。 5. ($17$ 分)$C_1=C_2=\cdots=C_{N-1}=N$。 6. ($36$ 分)集合 $\{A_1,A_2,\ldots,A_N\}$ 中不同整数的数量不超过 $20$。 7. ($51$ 分)无附加限制。 翻译由 ChatGPT-5.6 完成