#B4172. [BCSP-X 2024 6 月小学高年级组] 学习计划

[BCSP-X 2024 6 月小学高年级组] 学习计划

题目描述

暑假共有 nn 天,第 ii 天的精力指数为 a[i]a[i],你想要利用假期依次(按 1,2,,m1, 2, \ldots, m 顺序) 复习 mm 门功课,第 ii 门功课的重要程度为 b[i]b[i],且每门功课的复习时段必须连续,并且不能有某天不干事。

假设第 ii 门功课的复习时段为第 lrl \sim r 天,那么第 ii 门功课的收益为 b[i]×(a[l]+a[l+1]++a[r])b[i] \times (a[l] + a[l + 1] + \ldots + a[r]),你的总收益为 mm 门功课收益的总和。

请你制订一个复习计划,使得总收益最大。

形式化地,给定序列 a[1n],b[1m]a[1 \sim n], b[1 \sim m],你需要把 1,2,,n1, 2, \ldots, n 这个序列分成首尾相连且非空的 mm 段,假设每段的 aa 之和为 s[1m]s[1 \sim m],最大化 i=1mb[i]×s[i]\sum_{i=1}^{m} b[i] \times s[i] 的值。

例如 a=[3,6,1,8,7,6],b=[3,2]a = [-3, 6, -1, -8, 7, -6], b = [-3, 2],最优策略是第 141 \sim 4 天复习第 11 门功课,收益为 3×(3+618)=18-3 \times (-3 + 6 - 1 - 8) = 18;第 565 \sim 6 天复习第 22 门功课,收益为 2×(76)=22 \times (7 - 6) = 2;总收益为 18+2=2018 + 2 = 20

例如 a=[6,3,5,10,5],b=[8,5,5]a = [6, 3, 5, 10, 5], b = [-8, -5, -5],最优策略是分成 [1],[2,3,4],[5][1], [2, 3, 4], [5] 三段,总收益为 $-8 \times 6 - 5 \times (3 + 5 + 10) - 5 \times 5 = -163$。

输入格式

第一行 1 个整数 TT,代表有 TT 组数据。

每组数据第一行 2 个整数 n,mn, m,第二行 nn 个整数 a[1n]a[1 \sim n],第三行 mm 个整数 b[1m]b[1 \sim m]

输出格式

输出 TT 行,每行 1 个整数代表答案。

5
6 2
-3 6 -1 -8 7 -6
-3 2
5 4
-9 -6 -6 -7 -8
-5 7 -9 -3
7 7
7 2 3 0 -2 4 2
-9 -2 -5 0 -7 9 -1
5 3
10 4 6 7 4
-1 -9 2
5 3
6 3 5 10 5
-8 -5 -5
20
144
-34
-12
-163

提示

对于所有数据,满足 $1 \leq T \leq 20, 1 \leq m \leq n \leq 2000, -10^3 \leq a[i], b[i] \leq 10^3$。

  • 对于测试点 1~7:n10n \leq 10
  • 对于测试点 8~12:n500n \leq 500
  • 对于测试点 13~16:所有 a[i],b[i]a[i], b[i] 为正整数;
  • 对于测试点 17~20:n2000n \leq 2000