pluto的树 T3
description
有一棵n 个节点的树,节点编号为1 到n,i 号节点的权值为Wi。这棵树有些奇怪,它的每个
叶子节点都是根节点的双亲(表示每个叶子节点与根节点之间有一条边权为0 的边)。我们称这样的树为
pluto 树,根节点编号为1。我们需要最大化从u 到v 的路径(每条边只能经过一次) 上的节点权值之和,
并且在最大化节点权值之和的同时求这个路径上可能的最大权值。
Input
第一行两个整数n 和q,n 表示节点个数,q 表示询问个数。
第二行n - 1 个整数Ai,表示i + 1 号节点的父亲为Ai
第三行n 个整数Wi 表示i 号节点的权值为Wi
接下来q ,每行两个整数u,v,表示一组询问
Output
对于每组询问输出两个整数x; y
x 表示u 到v 的权值和最大的路径的权值和,y 表示这条路径上点权最大值。如果有多个相同权值
和的路径,输出那个点权最大值最大的。
Example
plutotree.in
5 1
1 2 3 4
413 127 263 869 960
1 5
plutotree.out
1373 960
Scoring
• 对于30% 的数据,n < 300,q < 1000
• 对于50% 的数据,n < 2000,q < 10000
• 对于100% 的数据,n < 100000,q < 100000
信息
- 难度
- 10
- 分类
- (无)
- 标签
- (无)
- 递交数
- 1
- 已通过
- 0
- 通过率
- 0%
- 上传者