AT_waipc_qual_g.Sum of Max of Sum of K Segments

通过率:0%

AC君温馨提醒

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

题目描述

给定一个长度为 NN 的整数序列 A=(A1,A2,…,AN)A=(A_1,A_2,\ldots,A_N) 和一个整数 KK。定义函数 f(L,R)f(L,R)(1≤L≤R≤N1 \leq L \leq R \leq N)如下:

  • 当 R−L+1<KR-L + 1 < K 时,令 f(L,R)=0f(L,R)=0。
  • 否则,考虑从 (AL,AL+1,…,AR)(A_L,A_{L+1},\ldots,A_R) 中取出 KK 个不相交的非空连续子序列。将“最左侧子序列的元素和的绝对值”与“其他子序列的元素和”相加,取所有可能方案中该值的最大值,作为 f(L,R)f(L,R)。更形式化地,f(L,R)=max⁡L≤l1≤r1<l2≤r2<…<lK≤rK≤R(∣∑l1≤i≤r1Ai∣+∑2≤j≤K∑lj≤i≤rjAi)f(L,R)=\max_{L\leq l_1\leq r_1<l_2\leq r_2<\ldots<l_K\leq r_K\leq R}(|\sum_{l_1\leq i\leq r_1}A_i|+\sum_{2 \leq j \leq K}\sum_{l_j\leq i\leq r_j}A_i)。

请计算 ∑1≤L≤R≤Nf(L,R)\sum_{1 \leq L \leq R \leq N}f(L,R) 对 998244353998244353 取模后的值(如果为负数也要转化为 00 到 998244353−1998244353-1 之间的数)。

输入格式

输入通过标准输入给出,格式如下:

NN KK A1A_1 A2A_2 …\ldots ANA_N

输出格式

请输出答案。

输入输出样例

  • 输入#1

    3 2
    2 -2 -1

    输出#1

    2
  • 输入#2

    5 2
    -1 -2 -4 -8 -16

    输出#2

    998244327
  • 输入#3

    10 3
    -21 -75 -29 -5 -99 -60 -75 -98 -48 -66

    输出#3

    2320
  • 输入#4

    15 4
    -296045184 -17176032 -21940358 388585142 -410726492 244506160 -324910496 -99305133 -45869288 -25027474 -109128673 105493294 -6256129 -40956935 -33486703

    输出#4

    51969020

说明/提示

样例解释 1

对于满足 K≤R−L+1K \leq R-L+1 的 (L,R)(L,R),f(L,R)f(L,R) 的值如下:

  • 当 (L,R)=(1,2)(L,R)=(1,2) 时,(l1,r1,l2,r2)=(1,1,2,2)(l_1,r_1,l_2,r_2)=(1,1,2,2) 能取得最大值,因此 f(L,R)=0f(L,R)=0。
  • 当 (L,R)=(1,3)(L,R)=(1,3) 时,(l1,r1,l2,r2)=(1,1,3,3)(l_1,r_1,l_2,r_2)=(1,1,3,3) 能取得最大值,因此 f(L,R)=1f(L,R)=1。
  • 当 (L,R)=(2,3)(L,R)=(2,3) 时,(l1,r1,l2,r2)=(2,2,3,3)(l_1,r_1,l_2,r_2)=(2,2,3,3) 能取得最大值,因此 f(L,R)=1f(L,R)=1。

因此,这些 f(L,R)f(L,R) 的总和为 22,即答案为 22。

数据范围

  • 1≤K≤N≤2500001 \leq K \leq N \leq 250000
  • K≤4K \leq 4
  • −109≤Ai≤109-10^9 \leq A_i \leq 10^9
  • 输入均为整数。

由 ChatGPT 5 翻译

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

首页