编程题
### 问题描述 给定一棵包含 $n$ 个结点的树,树的每条边的长度均为 $1$。求这棵树的所有长度在 $L \sim R$ 之间的路径的长度之和。两条路径经过的边 集完全相同时视作同一条路径。 也就是求 $\sum_{i=1}^n \sum_{j=i+1}^n dis(i, j) \cdot [L \leq dis(i, j) \leq R]$,其中 $dis(i, j)$ 表示结点 $i$ 和结点 $j$ 之间的距离,$[C]$ 表示条件 $C$ 满足时取 $1$,不满足时取 $0$。 ### 输入格式 输入的第一行包含三个整数 $n$, $L$, $R$,相邻两个整数之间使用一个空格分隔。 接下来 $n-1$ 行,每行包含一个整数,其中第 $i$ 行的整数 $F_i$ 表示第 $i+1$ 个结点在树上的父亲结点。结点 $1$ 是根结点,没有父亲结点。 ### 输出格式 输出一行包含一个整数表示答案。 ### 样例输入 ``` 4 2 3 1 1 3 ``` ### 样例输出 ``` 7 ``` ### 评测用例规模与约定 对于 $40\\%$ 的评测用例,$n \leq 2000$; 对于所有评测用例,$1 \leq L \leq R \leq n \leq 10^6$,$1 \leq F_i \leq i$。
查看答案
赣ICP备20007335号-2