题目背景
Ysuperman 特别喜欢玩战略游戏。
题目描述
游戏地图是一棵 n 个点的有根树,根节点是 1 ,除节点 1 外其他节点都有唯一的父亲节点。
每个节点有一个高度,第 i 个节点的高度为 hi ,我们认为一个节点 v 是“制高点”,当且仅当 v 是根节点或者其父亲节点 u 是“制高点”并且 hv≥hu 。
但是, Ysuperman 并不知道每个节点的父亲具体是哪个,只知道它的父亲编号可能在的区间,其中,节点 i 的父亲可能在的编号范围为 [li,ri] ,保证 1≤li≤ri<i 。
现在, Ysuperman 想知道对于所有可能的情况,“制高点”的数量之和是多少。
因为这个结果可能会很大,所以你只需要输出结果 mod 998244353 的值即可。
输入格式
输入共 n+1 行。
第一行一个正整数 n 。
接下来一行 n 个非负整数,第 i 个整数描述 hi 。
接下来 n−1 行,每行两个正整数,分别描述 l2,r2,⋯,ln,rn 。
保证 1≤li≤ri<i 。
输出格式
一行一个整数,即答案。
提示
样例一解释:
共有两种情况,情况一: 2 的父亲节点是 1 , 3 的父亲节点是 1 ,此时 1,2,3 均是“制高点”;情况二: 2 的父亲节点是 1 , 3 的父亲节点是 2 ,由于 h2>h3 ,所以 3 不是“制高点”,此时 1,2 均是“制高点”。
所以所有情况“制高点”数量的和为 5 。
测试点编号 |
n |
∏i=2n(ri−li+1) |
特殊性质 |
1∼2 |
=10 |
≤106 |
无 |
3 |
=105 |
4 |
\ |
hi≤hi+1 |
5 |
hi>hi+1 |
6∼12 |
=103 |
无 |
13∼20 |
=105 |
题目数据保证 hi 在 int
能表示的最大范围内, 1≤li≤ri<i 。
题目并不难。