CF1425I.Impressive Harvesting of The Orchard
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Chanek 先生有一个果园,这个果园的结构是一棵有根三叉树,共有 N 个顶点,编号从 1 到 N。树的根为顶点 1。对于 2≤i≤N,Pi 表示顶点 i 的父节点。值得注意的是,这棵树的高度不超过 10。树的高度定义为从根节点到树中某个顶点的最大距离。
树上的每个顶点上都长有一棵灌木。初始时,所有灌木上都有果实。已经有果实的灌木不会再长出新的果实。第 i 个顶点上的灌木在上次采摘后的 Ai 天后会再次长出果实。
Chanek 先生将在 Q 天内多次参观他的果园。第 i 天,他会在顶点 Xi 的子树内采摘所有有果实的灌木。对于每一天,请你计算当天采摘的所有灌木到 Xi 的距离之和,以及当天采摘的灌木数量。采摘某个灌木意味着收集该灌木上的所有果实。
例如,如果 Chanek 先生在顶点 X 的子树内采摘所有果实,采摘的灌木为 [Y1,Y2,…,YM],那么距离之和为 ∑i=1Mdistance(X,Yi)。
树中 distance(U,V) 定义为从 U 到 V 的简单路径上的边数。
输入格式
第一行包含两个整数 N 和 Q,表示顶点数和 Chanek 先生参观果园的天数,1≤N,Q≤5⋅104。
第二行包含 N 个整数 Ai,表示第 i 个顶点上的灌木从上次采摘后再次长出果实所需的天数,1≤Ai≤5⋅104。
第三行包含 N−1 个整数 Pi,表示第 i 个顶点的父节点(2≤i≤N),1≤Pi≤N,Pi=i。保证每个顶点最多有 3 个子节点,且树的高度不超过 10。
接下来 Q 行,每行一个整数 Xi,表示第 i 天 Chanek 先生从顶点 Xi 开始采摘,1≤Xi≤N。
输出格式
输出 Q 行,第 i 行输出当天采摘的所有灌木到 Xi 的距离之和,以及当天采摘的灌木数量。
输入输出样例
输入#1
2 3 1 2 1 2 1 1
输出#1
0 1 0 1 1 2
输入#2
5 3 2 1 1 3 2 1 2 2 1 1 1 1
输出#2
6 5 3 2 4 4
说明/提示
对于第一个样例:
- 第一天,Chanek 先生从顶点 2 开始,只能采摘顶点 2 上的灌木。
- 第二天,Chanek 先生从顶点 1 开始,只能采摘顶点 1 上的灌木(顶点 2 上的果实还未长出来)。
- 第三天,Chanek 先生从顶点 1 开始,能采摘顶点 1 和 2 上的果实。所有采摘的灌木到 1 的距离之和为 1。
对于第二个样例,Chanek 先生每天都从顶点 1 开始。第一、二、三天分别采摘的灌木为 [1,2,3,4,5]、[2,3]、[1,2,3,5]。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?