时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
给出一个n个节点的有根树(编号为0到n-1,根节点为0)。
一个点的深度定义为这个节点到根的距离+1。
设dep[i]表示点i的深度,LCA(i,j)表示i与j的最近公共祖先。
有q次询问,每次询问给出l r z,求
%5D%7D)
。 (即,求在[l,r]区间内的每个节点i与z的最近公共祖先的深度之和)
输入描述:
第一行2个整数n,q。
接下来n-1行,分别表示点1到点n-1的父节点编号。
接下来q行,每行3个整数l r z。
输出描述:
输出q行,每行表示一个询问的答案。每个答案对201314取模输出
备注:
对于20%的数据,
;
对于40%的数据,
;
对于60%的数据,
;
对于80%的数据,
;
对于100%的数据,
。