C. 构建(build)

    传统题 文件IO:build 3000ms 512MiB

构建(build)

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

给你一个长度为 nn 的序列 a1,a2,...,ana_1,a_2,...,a_n,该序列满足以下两个条件:

  • 1ai1091\le a_i\le 10^9
  • 1i<n,aiai+1\forall 1\le i\lt n,a_i\le a_{i+1}

现在给你 qq 次指令,指令分为两种:

  • 1 k1\space k:询问将整个序列分成 kk 个互不相交的区间(区间长度可以为 11),每个区间的代价是该区间最大的数和最小的数的差值,总代价是划分后的 kk 个区间的代价之和,问划分成 kk 个区间的最小总代价是多少?
  • 2 p v2\space p\space v:将 apa_p 修改为 vv,保证修改后的序列满足上述两个条件。

题目满足 qq 次类型为 11 的指令中的 kk 最多不会超过 1010 种。

输入格式

从文件build.in中读取数据。

  • 第一行一个整数 nn.
  • 第二行 nn 个整数,表示 a1,a2,...,ana_1,a_2,...,a_n
  • 第三行一个整数 qq

输出格式

输出到文件build.out中。

  • 输出若干行,对于每个类型为 11 的指令,输出对应的最小代价。
6
3 8 13 45 64 99
3
1 2
2 5 55
1 2
61
52

数据规模与约定

  • 对于测试点 141\sim 42n3002\le n\le 3001q3001\le q\le 300
  • 对于测试点 565\sim 62n30002\le n\le 30001q30001\le q\le 3000
  • 对于测试点 7207\sim 202n1052\le n\le 10^51q1051\le q\le 10^5

所有数据保证 1kn1\le k\le n

CSP-JS模拟赛8

未参加
状态
已结束
规则
OI
题目
4
开始于
2025-10-13 7:00
结束于
2025-10-16 0:00
持续时间
3.5 小时
主持人
参赛人数
3