luogu#P10764. [BalticOI 2024] Wall

[BalticOI 2024] Wall

题目背景

翻译自 BalticOI 2024 Day2 T3

题目描述

你想要修建一个围墙,它是由 NN 个墙组成的,每个墙 ii 可能的高度是 aia_ibib_i,对于每个可能的围墙序列 hh,你想要求出它的积水量之和。

例如下图展示了一个 N=10N = 10,围墙高度分别为 4,2,1,8,6,2,7,1,2,34, 2, 1, 8, 6, 2, 7, 1, 2, 3 的例子,它的实际积水高度是 4,4,4,8,7,7,7,3,3,34, 4, 4, 8, 7, 7, 7, 3, 3, 3

正式地,对于每个 ii 其可能的积水高度 HH,必须要存在一个 lirl \leq i \leq r,使得 hlHh_l \geq HhrHh_r \geq H,则 ii 这个位置的积水量为 HhiH - h_i

输出所有可能情况的积水量之和对 109+710^9 +7 取模的值。

输入格式

第一行一个整数 NN

第二行 NN 个整数 aia_i

第三行 NN 个整数 bib_i

输出格式

输出可能的围墙积水量之和对 109+710^9 +7 取模的值。

4
1 1 1 1
2 2 2 2
6
10
1 2 3 4 5 6 7 8 9 10
10 9 8 7 6 5 4 3 2 1

21116

提示

对于样例一,(2,1,1,2)(2,1,1,2) 的情况存在 22 的积水量,(1,2,1,2)(1,2,1,2)(2,1,2,1)(2,1,2,1)(2,1,2,2)(2,1,2,2)(2,2,1,2)(2,2,1,2) 分别存在 11 的积水量。

子任务编号 特殊性质 分值
11 N20N \leq 20 88
22 N100N \leq 100ai,bi1000a_i,b_i \leq 1000 1717
33 N10000N \leq 10000ai,bi1000a_i,b_i \leq 1000 1919
44 N10000N \leq 10000 1414
55 ai,bi2a_i,b_i \leq 2 1212
66 无特殊性质 3030

对于所有数据 1N5×1051 \leq N \leq5 \times10^51ai,bi1091 \leq a_i,b_i \leq 10^9