A6604 | 「LNOI2022」盒
时间限制1s
内存限制512MB
通过 / 提交0/0
题目描述
有 $n$ 个不同的盒子排成一排。在初始状态下,第 $i$ 个盒子放有 $a_i$ 个货物,总货物数量为 $S = \sum_{i = 1}^{n} a_i$。对于非负整数数组 $(b_1, b_2, \ldots, b_n)$ 满足 $\sum_{i = 1}^{n} b_i = S$,考察以下问题:
你想让第 $i$ 个盒子中拥有恰好 $b_i$ 个货物,为此你可以做如下操作若干次:对两个相邻的盒子,把其中一个盒子的**恰好一个**货物移动至另一个。对 $i, i + 1$($1 \le i < n$)号盒子做**一次**操作的代价为 $w_i$。**注意:将 $\boldsymbol{i}$ 号盒子的一个货物移动到 $\boldsymbol{i + 1}$ 号盒子和将 $\boldsymbol{i + 1}$ 号盒子的一个货物移动到 $\boldsymbol{i}$ 号盒子的代价都是 $\boldsymbol{w_i}$**。你需要保证在操作中不存在盒子中的货物数量是负数。
在以上问题下,定义从初始状态达到第 $i$ 个盒子拥有恰好 $b_i$ 个货物的状态的最小代价为 $\operatorname{val}(b_1, b_2, \ldots, b_n)$,你需要求出对所有满足 $\sum_{i = 1}^{n} b_i = S$ 的非负整数数组 $(b_1, b_2, \ldots, b_n)$,$\operatorname{val}(b_1, b_2, \ldots, b_n)$ 的和。输出这个答案对 $998244353$ 取模后的结果。
你想让第 $i$ 个盒子中拥有恰好 $b_i$ 个货物,为此你可以做如下操作若干次:对两个相邻的盒子,把其中一个盒子的**恰好一个**货物移动至另一个。对 $i, i + 1$($1 \le i < n$)号盒子做**一次**操作的代价为 $w_i$。**注意:将 $\boldsymbol{i}$ 号盒子的一个货物移动到 $\boldsymbol{i + 1}$ 号盒子和将 $\boldsymbol{i + 1}$ 号盒子的一个货物移动到 $\boldsymbol{i}$ 号盒子的代价都是 $\boldsymbol{w_i}$**。你需要保证在操作中不存在盒子中的货物数量是负数。
在以上问题下,定义从初始状态达到第 $i$ 个盒子拥有恰好 $b_i$ 个货物的状态的最小代价为 $\operatorname{val}(b_1, b_2, \ldots, b_n)$,你需要求出对所有满足 $\sum_{i = 1}^{n} b_i = S$ 的非负整数数组 $(b_1, b_2, \ldots, b_n)$,$\operatorname{val}(b_1, b_2, \ldots, b_n)$ 的和。输出这个答案对 $998244353$ 取模后的结果。
输入格式
**本题有多组测试数据**。输入的第一行包含一个正整数 $T$,表示测试数据组数。
对于每组数据,输入共三行。第一行一个正整数 $n$ 表示盒子的个数,第二行 $n$ 个正整数 $a_1, a_2, \ldots, a_n$ 描述初始状态,第三行 $n - 1$ 个正整数 $w_1, w_2, \ldots, w_{n - 1}$ 描述移动货物的代价。
对于每组数据,输入共三行。第一行一个正整数 $n$ 表示盒子的个数,第二行 $n$ 个正整数 $a_1, a_2, \ldots, a_n$ 描述初始状态,第三行 $n - 1$ 个正整数 $w_1, w_2, \ldots, w_{n - 1}$ 描述移动货物的代价。
输出格式
对于每组测试数据输出一行一个整数,表示对于所有满足 $\sum_{i = 1}^{n} b_i = S$ 的非负整数数组,达到目标的代价的最小值之和模 $998244353$ 的结果。
输入输出样例
输入 #1
2 2 2 3 65472 5 1 3 2 1 1 2 3 3 3
输出 #1
589248 8589
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?