C1918 [模拟赛 #1-D2]命运

内存限制:512 MB 时间限制:3000 ms

题目描述

下发文件链接 ,本题英文名为 $\texttt{fate}$ ,不需要 freopen ,不开启 O2 优化和 C++11 。

※ 跳过剧情的同学请从分割线开始看哦~

阻挡下奔袭而来的黑暗火球,ω 擦了一把冷汗,对手竟然对她意外的熟悉。

「莫非……你是?」ω 察觉到了些许不对劲。「不……不,我在想什么呢。」她却又马上打消了这个可怕的想法。

「你猜的很~对~哦~。你们所遇到的 Ψ ,不过是一个投影魔法所创造的虚影罢了,你们还玩得那么开心。」拉长着令人胆颤的声音说话,从黑雾中逐渐显现出来了的,竟然是自己最钦佩最亲切的人—— Ω !

「你,你为什么要背叛我们?!」目睹这一幕的 ω 情绪彻底崩溃。

「『背叛』这个词貌似不是很恰当啊。」Ω 依旧不慌不忙地说道,「倒是你呢,一直跟个傻瓜一样。」

「我……傻吗?」ω 畏怯地颤抖着,一滴滴绝望的泪珠弥漫于眼眶。

「看到同伴的离去,就没有一丝的悲伤吗?」Ω 也维持不住冷静了,「自己的战友倒在脚边,却没有一点挽救她的能力,难道就没有一丝的痛楚吗?」

「现在我已经知道了,我所做得到的,只有自己苟延残喘在这个世界上。有同伴,有羁绊,就会有悲痛,也许消除悲痛就只有一种方法吧。」Ω 重重地叹了一口气,「孤身一人,也没什么不好。」

「我并不这么觉得哦。」ω 短暂调整了一下复杂的心情,含笑缓缓道来,「我 ω 所想看到的,并不是自己苟活在世界上,而是所有人,都能愉悦地度过每一天。孤身一人的世界,有任何的意义吗?」

Ω 霎时间失去了理智,嘶吼道:「你就不考虑自己吗?!」

「不哦。在我看来,『我』所存在的意义,并不单单是为了『我』自己的存在,而是为了每个人都能更好地活下去呀。」

「是吗?果然道不同,不相为谋啊……」

ω 和 Ω 举起了各自的法杖,催动着法术,法力的流动使两人的法袍无风自动——这无疑将会是一场恶战。


ω 的法杖嵌有 $n$ 块排成一横排的魔法结晶,当她发动法术时,不同的魔法结晶之间会生成若干或零条魔法链。

魔法链会出现在结晶上侧或下侧,但不会在中途从一侧转到另一侧。与此同时,任意两条魔法链不交叉,否则会引起法力紊乱,酿成不可逆的后果。

法术是千变万化的,只要存在两块魔法结晶之间位于上侧的魔法链数量不同,或者位于下侧的魔法链数量不同,就会施出不同的法术。

经过长时间的钻研,ω 发现所有克制黑暗魔法的法术都满足:第 $i$ 个魔法结晶恰好被 $d_i$ 个魔法链所连接,并且若在第 $i$ 个和第 $i + 1$ 个魔法结晶间画一条竖直的线,经过该线的魔法链恰好有 $p_i$ 个。

ω 想知道共有多少种不同的法术能够克制黑暗魔法。测试点将会给出 $T$ 组数据,你需要对每组数据分别作答,答案请对 $998244353$ 取模。

输入格式

输入文件的第一行,包含一个整数 $T$ ,表示数据组数。

接下来每组数据分别占用三行,其中:

第一行,包含一个正整数 $n$ ,为魔法结晶的个数。

第二行,包含 $n$ 个非负整数 $d_1,\,d_2,\,\cdots,\,d_n$ ,其中 $d_i$ 为连接第 $i$ 个魔法结晶的魔法链数量。

第三行,包含 $n - 1$ 个非负整数 $p_1,\,p_2,\,\cdots,\,p_{n-1}$ ,其中 $p_i$ 表示经过第 $i$ 个和第 $i + 1$ 个魔法结晶之间的竖线的魔法链数量。

输出

对于每组数据输出一行一个整数,即该组数据下克制黑暗魔法的不同法术数量对 $998244353$ 取模的结果,共 $T$ 行。

样例

样例输入 1

3 4 1 2 1 2 1 3 2 4 1 2 1 2 0 3 2 6 1 2 2 3 2 2 1 3 3 4 2

样例输出 1

10 0 218

样例输入 2

见下发文件中 fate2.in

样例输出 2

见下发文件中 fate2.ans

提示

data.jpg

对于具有 特殊性质 $1$ 的数据,有 $d_1 = d_2 = d_3 = \cdots = d_n = 1$ 。

对于具有 特殊性质 $2$ 的数据,有 $p_1 = p_2 = p_3 = \cdots = p_{n-1} = 1$ 。

对于具有 特殊性质 $3$ 的数据,有 $\displaystyle2 \sum_{i = 1}^{n} d_i = \sum_{i = 1}^{n - 1} p_i$ 。

对于所有的数据,保证 $2 \le n \le 2000 ,\ 0 \le d_i ,\, p_i \le n ,\ 1 \le T \le 10$ 。