AT_waipc_qual_g.Sum of Max of Sum of K Segments
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个长度为 N 的整数序列 A=(A1,A2,…,AN) 和一个整数 K。定义函数 f(L,R)(1≤L≤R≤N)如下:
- 当 R−L+1<K 时,令 f(L,R)=0。
- 否则,考虑从 (AL,AL+1,…,AR) 中取出 K 个不相交的非空连续子序列。将“最左侧子序列的元素和的绝对值”与“其他子序列的元素和”相加,取所有可能方案中该值的最大值,作为 f(L,R)。更形式化地,f(L,R)=maxL≤l1≤r1<l2≤r2<…<lK≤rK≤R(∣∑l1≤i≤r1Ai∣+∑2≤j≤K∑lj≤i≤rjAi)。
请计算 ∑1≤L≤R≤Nf(L,R) 对 998244353 取模后的值(如果为负数也要转化为 0 到 998244353−1 之间的数)。
输入格式
输入通过标准输入给出,格式如下:
N K A1 A2 … AN
输出格式
请输出答案。
输入输出样例
输入#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+1 的 (L,R),f(L,R) 的值如下:
- 当 (L,R)=(1,2) 时,(l1,r1,l2,r2)=(1,1,2,2) 能取得最大值,因此 f(L,R)=0。
- 当 (L,R)=(1,3) 时,(l1,r1,l2,r2)=(1,1,3,3) 能取得最大值,因此 f(L,R)=1。
- 当 (L,R)=(2,3) 时,(l1,r1,l2,r2)=(2,2,3,3) 能取得最大值,因此 f(L,R)=1。
因此,这些 f(L,R) 的总和为 2,即答案为 2。
数据范围
- 1≤K≤N≤250000
- K≤4
- −109≤Ai≤109
- 输入均为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?