CF2029G.Balanced Problem

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一个长度为 nn 的整数数组 aa,初始时所有元素均为 00。

Kevin 可以对数组进行若干次操作。每次操作有以下两种类型之一:

  • 前缀加法 —— Kevin 选择一个下标 xx(1≤x≤n1\le x\le n),然后对每个 1≤j≤x1\le j\le x,将 aja_j 增加 11;
  • 后缀加法 —— Kevin 选择一个下标 xx(1≤x≤n1\le x\le n),然后对每个 x≤j≤nx\le j\le n,将 aja_j 增加 11。

在 KDOI 国,人们认为整数 vv 是“平衡”的。因此,Iris 给了 Kevin 一个长度为 nn 的数组 cc,并定义数组 aa 的美丽值如下:

  • 初始时,令 b=0b=0;
  • 对于每个 1≤i≤n1\le i\le n,如果 ai=va_i=v,则将 cic_i 加到 bb 上;
  • aa 的美丽值即为最终的 bb。

Kevin 想要在所有操作完成后,使 aa 的美丽值最大。然而,他在犯困时已经进行了 mm 次操作。现在,他可以再进行任意次数(可能为零)的新操作。

你需要帮助 Kevin,若他最优地进行新操作,求出最大可能的美丽值。

不过,为了防止你只是“碰运气”,Kevin 给了你一个整数 VV,你需要对于每个 1≤v≤V1\le v\le V 都解决这个问题。

输入格式

每组测试数据包含多个测试用例。输入的第一行包含一个整数 tt(1≤t≤10001\le t\le 1000),表示测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含三个整数 nn、mm 和 VV(1≤n,m≤2⋅1051\le n, m\le 2\cdot 10^5,1≤V≤20001\le V\le 2000),分别表示数组 aa 的长度、初始操作次数和 Kevin 给你的整数。

第二行包含 nn 个整数 c1,c2,…,cnc_1, c_2, \ldots, c_n(1≤ci≤1091\le c_i\le 10^9),表示数组 cc 的元素。

接下来 mm 行,每行包含一个字符 opop 和一个整数 xx(op=Lop=\mathtt{L} 或 R\mathtt{R},1≤x≤n1\le x\le n),表示第 ii 次操作的类型和选择的下标。

  • 如果 op=Lop=\mathtt{L},则该操作为对下标 xx 的前缀加法;
  • 如果 op=Rop=\mathtt{R},则该操作为对下标 xx 的后缀加法。

保证:

  • 所有测试用例中 nn 的总和不超过 2⋅1052\cdot 10^5;
  • 所有测试用例中 mm 的总和不超过 2⋅1052\cdot 10^5;
  • 所有测试用例中 V2V^2 的总和不超过 4⋅1064\cdot 10^6。

输出格式

对于每个测试用例,输出 VV 个整数,表示当 v=1,2,…,Vv=1,2,\ldots,V 时,Kevin 最优操作后能获得的最大美丽值。每组输出占一行。

输入输出样例

  • 输入#1

    5
    3 3 2
    1 2 4
    L 3
    R 3
    L 1
    3 3 2
    5 1 4
    L 3
    R 3
    L 1
    5 4 5
    1 1 1 1 1
    L 3
    R 2
    L 5
    L 4
    10 12 9
    10 9 8 7 6 5 4 3 2 1
    L 2
    L 4
    R 4
    R 4
    L 6
    R 8
    L 3
    L 2
    R 1
    R 10
    L 8
    L 1
    1 1 4
    1000000000
    L 1

    输出#1

    2 6
    1 9
    0 1 3 5 5
    0 0 0 6 25 32 35 44 51
    1000000000 1000000000 1000000000 1000000000

说明/提示

在第一个测试用例中,数组 aa 在初始操作后变化如下:[0,0,0]→L 3[1,1,1]→R 3[1,1,2]→L 1[2,1,2][0, 0, 0] \xrightarrow{\mathtt{L}\ 3} [1, 1, 1] \xrightarrow{\mathtt{R}\ 3} [1, 1, 2] \xrightarrow{\mathtt{L}\ 1} [2, 1, 2]。

  • 对于 v=1v=1,最优策略是不进行任何新操作,美丽值为 b=c2=2b=c_2=2;
  • 对于 v=2v=2,最优策略是在下标 22 进行一次前缀加法,之后 aa 变为 [3,2,2][3,2,2],美丽值为 b=c2+c3=6b=c_2+c_3=6。

在第二个测试用例中,对于 v=1v=1 和 v=2v=2,最优策略都是不进行任何新操作。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页