#3506. Between Two Arrays

0

Between Two Arrays

Between Two Arrays

题目描述

一个由 nn 个数构成的序列 S=(s1,s2,…,sn)S = (s_1, s_2, \dots, s_n) 当且仅当对每个 ii (1≤i≤n−1)(1 \leq i \leq n - 1) 都满足 si≤si+1s_i \leq s_{i+1} 时,被称为非递减。 给出两个长度为 NN 的非递减整数序列:A=(a1,a2,…,aN)A = (a_1, a_2, \dots, a_N) 和 B=(b1,b2,…,bN)B = (b_1, b_2, \dots, b_N)。
考虑一个满足下列条件的长度为 NN 的非递减整数序列 C=(c1,c2,…,cN)C = (c_1, c_2, \dots, c_N):

ai≤ci≤bia_i \leq c_i \leq b_i 对于每个 ii (1≤i≤N)(1 \leq i \leq N) 成立。

求可以作为 CC 的序列的个数,对 998244353998244353 取模。

输入格式

输入按如下格式由标准输入提供: NN a1a_1 a2a_2 …\dots aNa_N b1b_1 b2b_2 …\dots bNb_N

输出格式

输出可以作为 CC 的序列的个数,对 998244353998244353 取模。

2
1 1
2 3
5
3
2 2 2
2 2 2
1
10
1 2 3 4 5 6 7 8 9 10
1 4 9 16 25 36 49 64 81 100
978222082

提示

1≤N≤30001 \leq N \leq 3000 0≤ai≤bi≤30000 \leq a_i \leq b_i \leq 3000 (1≤i≤N)(1 \leq i \leq N) 序列 AA 和 BB 是非递减的。 输入中的所有数值均为整数。可以作为 CC 的序列共有五个,如下所示。

(1,1)(1, 1) (1,2)(1, 2) (1,3)(1, 3) (2,2)(2, 2) (2,3)(2, 3)

注意 (2,1)(2, 1) 不满足条件,因为它不是非递减的。
可以作为 CC 的序列共有一个,如下所示。

(2,2,2)(2, 2, 2)
请注意对 998244353998244353 取模。

标签: AtCoder|abc222D

来源

AtCoder|abc222D