luogu#P9499. 「RiOI-2」change

    ID: 13470 远端评测题 1000ms 512MiB 尝试: 1 已通过: 1 难度: 7 上传者: 标签>模拟贪心洛谷原创O2优化洛谷月赛

「RiOI-2」change

题目背景

小 E 终于在今天收回了被妈妈保管的压岁钱。

作为有远见的收藏家,小 E 知道,如果她从现在开始收集东西,以后就会变得值钱了。

小 E 的世界里有一些纸币。她知道这些纸币未来的价值,但遗憾的是,这些纸币只能从小换到大。如何是好?

题目描述

给定 nn 种物品,每种物品 ii 价值为 viv_i,个数为 cic_i

定义总价值为 i=1ncivi\sum\limits_{i=1}^nc_iv_i,你可以进行一些(可能为 00)次操作来最大化总价值。

一次操作为:选定一个 ii 满足 cixic_i \geq x_i,让 cicixic_i\gets c_i - x_ici+1ci+1+1c_{i+1}\gets c_{i+1}+ 1

输出最大的总价值对 998, ⁣244, ⁣353998,\!244,\!353 取模。

注意,你需要最大化总价值,再对 998, ⁣244, ⁣353998,\!244,\!353 取模,而不是最大化「总价值对 998, ⁣244, ⁣353998,\!244,\!353 取模的值」。

输入格式

本题有多组数据。

第一行一个正整数 sidsid,表示该测试数据所属子任务编号。

第二行一个正整数 tt,表示数据组数。对于每组数据:

  • 输入共四行。
  • 第一行,一个正整数 nn,表示钱的种数。
  • 第二行,nn 个非负整数分别表示 v1,v2vnv_1, v_2 \dots v_n
  • 第三行,nn 个非负整数分别表示 c1,c2cnc_1, c_2 \dots c_n
  • 第四行,n1n - 1 个正整数分别表示 x1,x2xn1x_1, x_2 \dots x_{n - 1}

输出格式

输出 tt 行,每行一个整数,表示物品总价值的最大值。所有答案对 998244353998244353 取模。

0
2
2
1 5
5 1
4
10
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000
11
172998509

提示

样例解释

对于样例的第一组数据,v=[1,5]v=[1,5]c=[5,1]c=[5,1]x=[4]x=[4]。可以选定 i=1i=1 进行一次操作,此时 c=[1,2]c=[1,2],总价值为 11+52=111\cdot 1+5\cdot 2=11,可以证明它是最大的。

数据规模与约定

本题采用捆绑测试。

下面是各 Subtask 的特殊性质,斜杠表示该栏无特殊限制。

sid=sid= n\sum n\le ci,vic_i,v_i\le 特殊性质 分值
11 / 特殊性质 A 55
22 特殊性质 B 1515
33 特殊性质 C
44 300300 /
55 20002000 20002000 2020
66 / 1515
77 /
  • 特殊性质 A:xi=109x_i = 10^9
  • 特殊性质 B:xi=1x_i = 1
  • 特殊性质 C:所有 ci,vic_i, v_i 均在 [0,105][0, 10^5] 间均匀随机生成;所有 xix_i 均在 [1,105][1, 10^5] 间均匀随机生成。

对于所有数据,1t1051\le t \le 10^52n2\le nn2×105\sum n\le 2\times 10^51xi1091\le x_i\le 10^90ci,vi1090\le c_i,v_i\le 10^9