CF2021D.Boss, Thirsty

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

Pak Chanek的一个朋友在食堂经营一个饮料摊位。他的朋友将在 nn 天内出售饮料,从第1天到第 nn 天。总共有 mm 种饮料,编号从1到 mm。

在某一天出售某种饮料所能获得的利润会有所不同。在第 ii 天,出售第 jj 种饮料的预期利润是 Ai,jA_{i, j}。请注意,Ai,jA_{i, j} 可能是负数,这意味着出售这种饮料实际上会造成亏损。

Pak Chanek想帮助他的朋友规划这 nn 天的销售。在第 ii 天,Pak Chanek必须选择至少出售一种类型的饮料。此外,在同一天出售的饮料类型必须形成一个子数组。换句话说,在每一天,Pak Chanek将选择 ii 和 jj,满足 1≤i≤j≤m1 \leq i \leq j \leq m。然后,从第 ii 个到第 jj 个(包括两端)的所有类型的饮料都将被出售。

但是,为了确保前一天的顾客能继续光顾,第 ii 天(i>1i>1)出售的饮料类型选择必须满足以下条件:

  • 第 ii 天至少有一种饮料类型也必须在第i−1i-1 天出售。
  • 第 ii 天至少有一种饮料类型不能在第 i−1i-1 天出售。

每日利润是当天出售的所有饮料类型利润的总和。销售计划的总利润是 nn 天内利润的总和。如果Pak Chanek能够优化销售计划,那么他能获得的最大总利润是多少?

输入格式

每个测试包含多个测试用例。第一行包含测试用例的数量 tt(1≤t≤10001 \le t \le 1000)。以下是测试用例的描述。

每个测试用例的第一行包含两个整数 nn 和 mm(1≤n≤2⋅1051 \leq n \leq 2 \cdot 10^5;3≤m≤2⋅1053 \leq m \leq 2 \cdot 10^5;n⋅m≤2⋅105n \cdot m \leq 2 \cdot 10^5),表示网格的行数和列数。

每个测试用例的接下来 nn 行每行包含 mm 个整数,其中第ii行包含整数 Ai,1Ai,2,…,Ai,mA_{i,1} A_{i,2}, \ldots, A_{i,m}(−109≤Ai,j≤109-10^9 \leq A_{i,j} \leq 10^9),表示第ii天每种饮料类型的预期利润。

保证所有测试用例中 n⋅mn \cdot m 的总和不超过 2⋅1052 \cdot 10^5。

输出格式

对于每个测试用例,输出一个整数:Pak Chanek能够获得的最大利润。

输入输出样例

  • 输入#1

    1
    3 6
    79 20 49 5 -1000 500
    -105 9 109 24 -98 -499
    14 47 12 39 23 50

    输出#1

    475

说明/提示


以下是Pak Chanek的最优计划:

  • 在第1天,Pak Chanek出售第1到3种饮料。获得利润 79+20+49=14879+20+49 = 148。
  • 在第2天,Pak Chanek出售第2到4种饮料。获得利润 9+109+24=1429+109+24 = 142。
  • 在第3天,Pak Chanek出售第1到6种饮料。获得利润 185185。

因此,Pak Chanek计划的总利润是 148+142+185=475148 + 142 + 185 = 475。

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

首页