A59727.[NOI2025] 序列变换

省选/NOI-

NOI

通过率:0%

时间限制:6.00s

内存限制:1024MB

题目描述

给定两个长度为 nn 的整数序列 B=[b1,,bn]B = [b_1, \ldots, b_n]C=[c1,,cn]C = [c_1, \ldots, c_n]。对于长度为 nn 的非负整数序列 D=[d1,,dn]D = [d_1, \ldots, d_n],设 S(D)S(D) 为所有满足 di=0d_i = 0 的下标 ii 的集合,定义 f(D)=iS(D)bif(D) = \sum_{i \in S(D)} b_ig(D)=iS(D)cig(D) = \prod_{i \in S(D)} c_i。特别地,若 S(D)S(D) 为空,则 f(D)=0f(D) = 0g(D)=1g(D) = 1

小 L 有一个长度为 nn正整数序列 A=[a1,,an]A = [a_1, \ldots, a_n]。小 L 可以对序列 AA 做如下修改:

  • 选择序列 AA 的两个 相邻 的下标 i,ji, j(即 1i,jn1 \leq i, j \leq nij=1|i - j| = 1),若 aiaja_i \leq a_j,则将 aja_j 改为 ajaia_j - a_i,同时将 aia_i 改为 00

小 L 可以进行任意多次修改操作,也可以不进行任何修改。对于所有序列 AA 通过以上修改操作可以得到的序列 DD,小 L 想求出 f(D)f(D) 的最大值以及 g(D)g(D) 之和,请你帮助他求出这两个值。形式化地,记 T(A)T(A) 为序列 AA 通过以上修改操作可以得到的 所有序列的集合,你需要求出 maxDT(A)f(D)\max_{D \in T(A)} f(D) 以及 DT(A)g(D)\sum_{D \in T(A)} g(D)。其中,由于 DT(A)g(D)\sum_{D \in T(A)} g(D) 可能较大,你只需要求出其对 1,000,000,0071,000,000,007 取模后的结果。

说明/提示

评分方式

对于每个测试点:

  • 正确回答所有测试数据的 maxDT(A)f(D)\max_{D \in T(A)} f(D),可获得该测试点 40%40\% 的分数;
  • 正确回答所有测试数据的 DT(A)g(D)\sum_{D \in T(A)} g(D)1,000,000,0071,000,000,007 取模后的结果,可获得该测试点 60%60\% 的分数。

注意:即使选手仅回答了其中一个问题,也需要按照输出格式输出两个整数,分别对应两个问题的答案。

附加文件来自于 QOJ

输入格式

本题包含多组测试数据。

输入的第一行包含两个非负整数 c,tc, t,分别表示测试点编号与测试数据组数。c=0c = 0 表示该测试点为样例。

接下来依次输入每组测试数据,对于每组测试数据:

  • 第一行包含一个正整数 nn,表示序列长度。
  • 第二行包含 nn 个正整数 a1,,ana_1, \ldots, a_n,表示序列 AA
  • 第三行包含 nn 个整数 b1,,bnb_1, \ldots, b_n,表示序列 BB
  • 第四行包含 nn 个正整数 c1,,cnc_1, \ldots, c_n,表示序列 CC

输出格式

对于每组测试数据,仅输出一行,其中包含两个整数,分别表示 maxDT(A)f(D)\max_{D \in T(A)} f(D) 以及 DT(A)g(D)\sum_{D \in T(A)} g(D)1,000,000,0071,000,000,007 取模后的结果。注意:maxDT(A)f(D)\max_{D \in T(A)} f(D) 不需要对 1,000,000,0071,000,000,007 取模。

输入输出样例

  • 输入#1

    0 3
    3
    5 6 6
    3 6 9
    1 2 3
    6
    1 1 4 5 1 4
    -1 1 -1 1 -2 2
    1 1 1 1 1 1
    8
    4 2 4 2 2 2 4 4
    -2 4 9 -3 4 8 7 8
    1 1 1 1 1 1 1 1

    输出#1

    15 10
    1 18
    37 48

说明/提示

样例 1 解释

该样例共包含三组测试数据。

对于第一组测试数据,可以得到以下 4 个序列:

  • D=[5,6,6]D = [5, 6, 6]f(D)=0f(D) = 0g(D)=1g(D) = 1
  • D=[0,1,6]D = [0, 1, 6]f(D)=3f(D) = 3g(D)=1g(D) = 1
  • D=[5,0,0]D = [5, 0, 0]f(D)=6+9=15f(D) = 6 + 9 = 15g(D)=2×3=6g(D) = 2 \times 3 = 6
  • D=[0,0,5]D = [0, 0, 5]f(D)=3+6=9f(D) = 3 + 6 = 9g(D)=1×2=2g(D) = 1 \times 2 = 2

maxDT(A)f(D)=max{0,3,15,9}=15\max_{D \in T(A)} f(D) = \max\{0, 3, 15, 9\} = 15DT(A)g(D)=1+1+6+2=10\sum_{D \in T(A)} g(D) = 1 + 1 + 6 + 2 = 10

样例 2

该样例满足测试点 3、4 的约束条件。

样例 3

该样例满足测试点 5、6 的约束条件。

样例 4

该样例满足测试点 7 的约束条件。

样例 5

该样例满足测试点 11、12 的约束条件。

样例 6

该样例满足测试点 161816\sim 18 的约束条件。

NN 为单个测试点内所有测试数据的 nn 的和。对于所有测试数据,保证:

  • 1t201 \leq t \leq 20
  • 1n5,0001 \leq n \leq 5,000N4×104N \leq 4 \times 10^4
  • 对于所有 1in1 \leq i \leq n,均有 1Ai1091 \leq A_i \leq 10^9
  • 对于所有 1in1 \leq i \leq n,均有 109Bi109-10^9 \leq B_i \leq 10^9
  • 对于所有 1in1 \leq i \leq n,均有 1Ci1091 \leq C_i \leq 10^9
测试点编号 nn \leq NN \leq 特殊性质
1,21, 2 88 10210^2
3,43, 4 200200 400400 B
5,65, 6 200200 400400
77 500500 10310^3 A
8108 \sim 10 500500 10310^3 B
11,1211, 12 500500 10310^3
1313 35003\,500 3×1043 \times 10^4 A
14,1514, 15 35003\,500 3×1043 \times 10^4 B
161816 \sim 18 35003\,500 4×1044 \times 10^4
19,2019, 20 50005\,000 4×1044 \times 10^4
  • 特殊性质 A:保证 A1=A2==An=1A_1 = A_2 = \cdots = A_n = 1
  • 特殊性质 B:保证对于所有 1in1 \leq i \leq nAiA_i 均在 [1,109][1, 10^9]独立均匀随机 生成。
首页