#P16232. [2026保加利亚国家扩展队训练赛]Two Paths两条路径
[2026保加利亚国家扩展队训练赛]Two Paths两条路径
题目描述
可以把铁路网描述为一棵以顶点 为根、共有 个顶点的树。
铁路网中共有 条列车线路。每条线路由树上两个顶点之间的简单路径构成。
为了找出最繁忙的铁路区段,需要从给定的 条线路中选择两条,使它们共同经过的树边数量尽可能多。
请输出这个最大公共边数,以及达到该最大值的两条线路编号。
输入格式
第一行包含两个整数 ,分别表示树的顶点数和线路数。
第二行包含 个整数:
p2 p3 ... pN
其中 是顶点 的父亲。
接下来 行,每行包含两个整数 ,表示一条从顶点 到顶点 的简单路径。保证 。
线路按照输入顺序编号为 到 。
输出格式
第一行输出一个整数,表示任意两条线路共同经过的最大边数。
第二行输出两个整数,表示一对达到最大值的线路编号。
若有多组答案,输出任意一组即可。
数据范围
- 。
子任务
| 子任务 | 分值 | 依赖子任务 | 额外限制 | ||
|---|---|---|---|---|---|
| 0 | - | 样例 | |||
| 1 | 9 | 0 | 无 | ||
| 2 | 7 | 0-1 | |||
| 3 | 11 | 0-2 | |||
| 4 | 12 | 0-3 | |||
| 5 | 7 | 0 | 树高不超过 | ||
| 6 | - | 每条线路都是某条根到叶路径的一部分 | |||
| 7 | 36 | 0-6 | 无 | ||
| 8 | 11 | 0-7 | |||
样例
样例 1
输入:
4 2
1 2 2
1 3
1 4
输出:
1
2 1
样例 2
输入:
4 2
1 2 3
1 2
3 4
输出:
0
1 2
样例 3
输入:
7 3
1 2 2 4 5 5
1 3
3 7
6 1
输出:
2
2 3
样例 4
输入:
4 3
1 2 3
1 4
4 1
1 4
输出:
3
2 1

样例1示意图