AT_abc222_d [ABC222D] Between Two Arrays
题目描述
当且仅当对于所有 i 满足 1≤i≤n−1 时都有 si≤si+1,我们称长度为 n 的数列 S=(s1,s2,…,sn) 是“广义单调递增”的。
给定两个长度为 N 的广义单调递增整数列 A=(a1,a2,…,aN) 和 B=(b1,b2,…,bN)。
请考虑满足以下条件的广义单调递增长度为 N 的整数列 C=(c1,c2,…,cN):
- 对于所有 i 满足 1≤i≤N,都有 ai≤ci≤bi。
请输出作为 C 可能的数列的个数对 998244353 取模的结果。
输入格式
输入以如下格式从标准输入读入。
N a1 a2 … aN b1 b2 … bN
输出格式
输出作为 C 可能的数列的个数对 998244353 取模的结果。
输入输出样例 #1
输入 #1
2
1 1
2 3
输出 #1
5
输入输出样例 #2
输入 #2
3
2 2 2
2 2 2
输出 #2
1
输入输出样例 #3
输入 #3
10
1 2 3 4 5 6 7 8 9 10
1 4 9 16 25 36 49 64 81 100
输出 #3
978222082
说明/提示
限制条件
- 1≤N≤3000
- 0≤ai≤bi≤3000(1≤i≤N)
- 整数列 A,B 均为广义单调递增。
- 输入均为整数。
样例解释 1
作为 C 可能的数列有如下 5 个:
- (1,1)
- (1,2)
- (1,3)
- (2,2)
- (2,3)
注意,数列 (2,1) 不满足广义单调递增的条件,因此不计入答案。
样例解释 2
作为 C 可能的数列仅有 1 个:
样例解释 3
请注意,要求输出的结果需对 998244353 取模。
由 ChatGPT 4.1 翻译