题目背景
java 今天带了一棵树到出题组,然后被不讲理的 MX 占为己有了。
题目描述
于是 MX 有一棵 n 个节点的树,每个点上有一个数字 ai。
定义一条路径 (x,y) 的权值 w(x,y) 为,从 x 走到 y 的最短路径上,所有节点上的数字顺次写下后得到的数。如,顺次经过写有数字 3,21,0,5 的四个节点,那么这个路径的权值为 32105。
MX 想知道这棵树所有路径的权值之和,即 x=1∑ny=1∑nw(x,y) 为多少。
答案可能很大,对 998244353 取模。
输入格式
第一行一个正整数 n。
第二行 n 个非负整数 ai。
第三行 n−1 个正整数,第 i 个数 pi 表示节点 pi 与节点 i+1 之间有边。保证 1≤pi≤i。
输出格式
一行一个整数,表示答案。答案对 998244353 取模。
3
1 2 3
1 2
538
3
5 21 0
1 2
6418
4
1 2 3 4
1 2 2
1900
6
10 23 16 3 125 1
1 1 1 1 1
7680868
提示
样例解释
样例一解释:1+12+123+2+21+23+3+32+321=538。
样例二解释:5+521+5210+21+215+210+0+021+0215=6418。
数据范围
本题采用捆绑测试。
记 V=max{ai}+1。
| Subtask | 分值 | n≤ | V≤ | 特殊性质 | 
| 0 | 5 | 1000 | 10 |  | 
| 1 | 15 | 8000 | 109 | 
| 2 | 106 | pi=i | 
| 3 | pi=1 | 
| 4 | 50 |  | 
对于 100% 的数据,1≤n≤106,0≤ai<109。