站外题求助
  • 板块灌水区
  • 楼主EasonX
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/11/22 19:01
  • 上次更新2023/11/22 21:02:23
查看原帖
站外题求助
733488
EasonX楼主2023/11/22 19:01

题目描述

你是一个穷鬼,但你相信你的祖先里一定有有钱人。为此你去查了家谱得到一张家谱图。图里共有n个人,形成一个树结构。你将这些人按1~n编号,第i个人的身价为ai万元。1号是你能查到的最老的人,也就是其他所有人的祖先。剩下的n-1个人每人都有一个直系父亲(亲爹),第i个人的亲爹为pi(i=2..n)。现在你想知道m个问题的答案,每个问题的形式为:编号x的人及其不超过L代祖先中,最富有的那个人的身价是多少?约定每个人是自己的0代祖先,亲爹是自己的1代祖先,以此类推,只有具有直系关系的人才能称祖先。所以每个问题最多涉及L+1人,当然如果x的祖先总共不足L个,那么就求x及其所有祖先中的最高身价。

输入输出格式

输入格式

输入文件rich.in 第一行2个正整数n,m

第二行n-1个正整数p2..pn,其中pi表示第i个人的亲爹编号(父节点)。数据保证形成合法的树结构

第三行n个正整数a1..an,其中ai表示第i个人的身价

后面m行每行2个整数x,L,表示询问第x个人到其至多L代祖先(包含本人,至多L+1人)中的最高身价。如果x只有不到L个祖先,则问询其本人及所有祖先中的最高身价

输出格式

输出文件rich.out 输出m行每行1个正整数,对应一个问询的答案

输入输出样例

输入样例#1:

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

输出样例#1:

4
5
8

数据规模

40%的数据,n,m<=10

60%的数据,n,m<=100

100%的数据,n,m<=200000, 1<=ai<=1000000,1<=pi<n,1<=x<=n,0<=L<=n

2023/11/22 19:01
加载中...