#P8367. [LNOI2022] 盒

    ID: 7663 Type: RemoteJudge 1000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 7 Uploaded By: Tags>各省省选2022O2优化辽宁

[LNOI2022] 盒

题目描述

nn 个不同的盒子排成一排。在初始状态下,第 ii 个盒子放有 aia_i 个货物,总货物数量为 S=i=1naiS = \sum_{i = 1}^{n} a_i。对于非负整数数组 (b1,b2,,bn)(b_1, b_2, \ldots, b_n) 满足 i=1nbi=S\sum_{i = 1}^{n} b_i = S,考察以下问题:

你想让第 ii 个盒子中拥有恰好 bib_i 个货物,为此你可以做如下操作若干次:对两个相邻的盒子,把其中一个盒子的恰好一个货物移动至另一个。对 i,i+1i, i + 11i<n1 \le i < n)号盒子做一次操作的代价为 wiw_i注意:将 i\bm{i} 号盒子的一个货物移动到 i+1\bm{i + 1} 号盒子和将 i+1\bm{i + 1} 号盒子的一个货物移动到 i\bm{i} 号盒子的代价都是 wi\bm{w_i}。你需要保证在操作中不存在盒子中的货物数量是负数。

在以上问题下,定义从初始状态达到第 ii 个盒子拥有恰好 bib_i 个货物的状态的最小代价为 val(b1,b2,,bn)\operatorname{val}(b_1, b_2, \ldots, b_n),你需要求出对所有满足 i=1nbi=S\sum_{i = 1}^{n} b_i = S 的非负整数数组 (b1,b2,,bn)(b_1, b_2, \ldots, b_n)val(b1,b2,,bn)\operatorname{val}(b_1, b_2, \ldots, b_n) 的和。输出这个答案对 998244353998244353 取模后的结果。

输入格式

本题有多组测试数据。输入的第一行包含一个正整数 TT,表示测试数据组数。

对于每组数据,输入共三行。第一行一个正整数 nn 表示盒子的个数,第二行 nn 个正整数 a1,a2,,ana_1, a_2, \ldots, a_n 描述初始状态,第三行 n1n - 1 个正整数 w1,w2,,wn1w_1, w_2, \ldots, w_{n - 1} 描述移动货物的代价。

输出格式

对于每组测试数据输出一行一个整数,表示对于所有满足 i=1nbi=S\sum_{i = 1}^{n} b_i = S 的非负整数数组,达到目标的代价的最小值之和模 998244353998244353 的结果。

2
2
2 3
65472
5
1 3 2 1 1
2 3 3 3

589248
8589

提示

【样例解释 #1】

对于第一组数据,一共有六种需要考虑的情形,它们的 b1b_1b2b_2 构成的二元组 (b1,b2)(b_1, b_2) 分别为 (0,5),(1,4),(2,3),(3,2),(4,1),(5,0)(0, 5), (1, 4), (2, 3), (3, 2), (4, 1), (5, 0)

对于第一种情形,需要至少 22 次移动,代价最小值为 65472×2=13094465472 \times 2 = 130944

对于第二种情形,需要至少 11 次移动,代价最小值为 6547265472

对于第三种情形,不需要做任何操作,代价最小值为 00

对于第四种情形,需要至少 11 次移动,代价最小值为 6547265472

对于第五种情形,需要至少 22 次移动,代价最小值为 65472×2=13094465472 \times 2 = 130944

对于最后一种情形,需要至少 33 次移动,代价最小值为 65472×3=19641665472 \times 3 = 196416

因此,最小代价之和为 $130944 + 65472 + 0 + 65472 + 130944 + 196416 = 589248$。

【样例 #2】

见附件中的 box/box2.inbox/box2.ans

这个样例满足测试点 585 \sim 8 的限制。

【样例 #3】

见附件中的 box/box3.inbox/box3.ans

这个样例满足测试点 9129 \sim 12 的限制。

【样例 #4】

见附件中的 box/box4.inbox/box4.ans

这个样例满足测试点 131413 \sim 14 的限制。

【样例 #5】

见附件中的 box/box5.inbox/box5.ans

这个样例满足测试点 151615 \sim 16 的限制。

【样例 #6】

见附件中的 box/box6.inbox/box6.ans

这个样例满足测试点 171817 \sim 18 的限制。

【数据范围】

保证对于任何测试点的任何一组数据,有 2n5×1052 \le n \le 5 \times {10}^51S2×1061 \le S \le 2 \times {10}^6ai0a_i \ge 00wi<9982443530 \le w_i < 998244353

测试点编号 TT \le nn \le SS \le 特殊性质
121 \sim 2 10001000 55 A
343 \sim 4 55 99
585 \sim 8 1010 20002000 20002000
9129 \sim 12 2×1052 \times {10}^5
131413 \sim 14 22 2×1052 \times {10}^5 B
151615 \sim 16 AC
171817 \sim 18
192019 \sim 20 55 5×1055 \times {10}^5 2×1062 \times {10}^6

特殊性质 A:对于任意 1i<n1 \le i < nwi=1w_i = 1
特殊性质 B:对于任意 1i<n201 \le i < n - 20ai=0a_i = 0
特殊性质 C:最多只有 2020i[1,n]i \in [1, n] 满足 ai0a_i \ne 0

【提示】

本题有读入量较大的测试点,为了优化程序运行的时间,我们建议你采用较为快速的读入方式。