题单练习 单调队列与单调栈

A6478 | 「CEOI2020」花式围栏

时间限制400ms
内存限制32MB
通过 / 提交0/0

题目描述

时间限制:$0.4s$
空间限制:$32MB$

众所周知,Balázs 拥有整个城镇中最漂亮的围栏。围栏由 $N$ 个部分组成,每个部分均为矩形,且相邻的两个部分间均紧密相连。第 $i$ 部分矩形的高度为 $h_i$,宽度为 $w_i$,我们需要找到满足如下条件的花式矩形:

  • 矩形的每条边均是水平的或竖直的,且每条边的长度为整数。
  • 矩形与地面的距离为整数。
  • 矩形与围栏第一部分的左侧边的距离为整数。
  • 矩形完整包含在围栏中。
现在你需要求出花式矩形的总数。因为这个数字可能很大,请输出其对 $10^9+7$ 取模后的结果。

输入格式

输入第一行包含一个整数 $N$,代表围栏由 $N$ 部分组成。

第二行 $N$ 个整数,第 $i$ 个整数为第 $i$ 个矩形的高度 $h_i$。

第三行 $N$ 个整数,第 $i$ 个整数为第 $i$ 个矩形的宽度 $w_i$。

输出格式

输出花式矩形数对 $10^9+7$ 取模后的结果。

输入输出样例

输入 #1
2
1 2
1 2
输出 #1
12
C++ 编辑器
输入
输出