#P10764. [BalticOI 2024] Wall

    ID: 12232 远端评测题 4000ms 512MiB 尝试: 0 已通过: 0 显示难度省选/NOI− 上传者: 标签>动态规划 DP线段树2024BalticOI(波罗的海)

[BalticOI 2024] Wall

背景

翻译自 BalticOI 2024 Day2 T3。

题目描述

你想要修建一个围墙,它是由 NN 个墙组成的,每个墙 ii 可能的高度是 aia_i 或 bib_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,需要满足存在两个数 l,r (l≤i,r≥i)l,r\ (l \leq i,r\geq i),有 hl≥H,hr≥Hh_l \geq H,h_r \geq H,且 HH 最大,此时 ii 的积水量为 H−hiH-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 N≤20N \leq 20 88
22 N≤100N \leq 100 且 ai,bi≤1000a_i,b_i \leq 1000 1717
33 N≤10000N \leq 10000 且 ai,bi≤1000a_i,b_i \leq 1000 1919
44 N≤10000N \leq 10000 1414
55 ai,bi≤2a_i,b_i \leq 2 1212
66 无特殊性质 3030

对于所有数据 1≤N≤5×1051 \leq N \leq5 \times10^5,1≤ai,bi≤1091 \leq a_i,b_i \leq 10^9 且对于 每个 1≤i≤n1 \leq i \leq n,有 ai≠bia_i \neq b_i。