- 编程
CF280D k-Maximum Subsequence Sum
- @ 2026-1-16 8:18:29
题目
题目描述
给定整数序列 。你需要处理两种类型的查询:
- 查询格式为 “”。对于该查询,你需要进行如下赋值操作:。
- 查询格式为 “”。对于该查询,你需要输出从序列 中选取不超过 个互不相交的子段所获得的最大和。形式化地说,你可以选择不超过 个整数对 ,满足 $l \leq x_1 \leq y_1 \lt x_2 \leq y_2 \lt ... \lt x_t \leq y_t \leq r,t \leq k$,使得和 $a_{x_1} + a_{x_1+1} + ... + a_{y_1} + a_{x_2} + a_{x_2+1} + ... + a_{y_2} + ... + a_{x_t} + a_{x_t+1} + ... + a_{y_t}$ 达到最大。注意,你最多可以选择 个子段,特别地,你也可以一个都不选,此时和为 。
输入格式
第一行一个整数 ,表示序列中数字的个数,。 第二行包含 个整数 ,。 第三行一个整数 ,表示查询数量,。 接下来的 行,每行表示一个查询,格式见描述。
所有赋值操作保证 ,。 所有区间和最大和查询保证 ,。 保证所有区间和最大和查询的总数不超过 。
输出格式
对于每一个求不超过 个互不相交子段最大和的查询,输出其最大和。按输入顺序输出每个查询的答案。
0 条评论
目前还没有评论...