U128722.划分(Easy Ver.)

省选/NOI-

通过率:0%

时间限制:2.00s

内存限制:512MB

题目描述

本题与 CSP-S 2019 Day2 T2 的不同点在于,你不需要使得每一段数据规模严格递增。

你猜猜真实难度是啥?(

给定一个正整数 nn 和长度为 nn 的数列 aa。

你需要找到一些分界点 1≤k1<k2<⋯<kp<n1 \leq k_1 \lt k_2 \lt \cdots \lt k_p \lt n(p≥0p\ge 0),使得以下式子最小:

(∑i=1k1ai)2+(∑i=k1+1k2ai)2+⋯+(∑i=kp+1nai)2\left(\sum_{i=1}^{k_1} a_i\right)^2 + \left(\sum_{i=k_1+1}^{k_2} a_i\right)^2 + \cdots + \left(\sum_{i=k_p+1}^{n} a_i\right)^2

注意答案可能会超过 2642^{64}。

输入格式

由于本题的数据范围较大,部分测试点的 aia_i 将在程序内生成。

第一行两个整数 n,typen, type。nn 的意义见题目描述,typetype 表示输入方式。

  1. 若 type=0type = 0,则该测试点的 aia_i 直接给出。输入文件接下来:第二行 nn 个以空格分隔的整数 aia_i,表示每组数据的规模。
  2. 若 type=1type = 1,则该测试点的 aia_i 将特殊生成,生成方式见后文。输入文件接下来:第二行六个以空格分隔的整数 x,y,z,b1,b2,mx, y, z, b_1, b_2, m。接下来 mm 行中,第 i(1≤i≤m)i (1 \leq i \leq m) 行包含三个以空格分隔的正整数 pi,li,rip_i, l_i, r_i。

对于 type=1type = 1 的 3∼53 \sim 5 号测试点,aia_i 的生成方式如下:

给定整数 x,y,z,b1,b2,mx, y, z, b_1, b_2, m,以及 mm 个三元组 (pi,li,ri)(p_i, l_i, r_i)。

保证 n≥2n \geq 2。若 n>2n \gt 2,则 ∀3≤i≤n,bi=(x×bi−1+y×bi−2+z) mod 230\forall 3 \leq i \leq n, b_i = (x \times b_{i−1} + y \times b_{i−2} + z) \bmod 2^{30}。

保证 1≤pi≤n,pm=n1 \leq p_i \leq n, p_m = n。令 p0=0p_0 = 0,则 pip_i 还满足 ∀0≤i<m\forall 0 \leq i \lt m 有 pi<pi+1p_i \lt p_{i+1}。

对于所有 1≤j≤m1 \leq j \leq m,若下标值 i(1≤i≤n)i (1 \leq i \leq n) 满足 pj−1<i≤pjp_{j−1} \lt i \leq p_j,则有

ai=(bi mod (rj−lj+1))+lja_i = \left(b_i \bmod \left( r_j − l_j + 1 \right) \right) + l_j

上述数据生成方式仅是为了减少输入量大小,标准算法不依赖于该生成方式。

输出格式

输出一行一个整数,表示答案。

注意答案可能会超过 2642^{64}。

输入输出样例

  • 输入#1

    5 0
    5 1 7 9 9

    输出#1

    237

说明/提示

【数据范围】

测试点编号 n≤n \leq ai≤a_i \leq type=type =
1∼21 \sim 2 5×1055 \times 10^5 10610^6 00
3∼53 \sim 5 4×1074 \times 10^7 10910^9 11

所有测试点满足:type∈{0,1}type \in \{0,1\},2≤n≤4×1072 \leq n \leq 4 \times 10^7,1≤ai≤1091 \leq a_i \leq 10^9,1≤m≤1051 \leq m \leq 10^5,1≤li≤ri≤1091 \leq l_i \leq r_i \leq 10^9,0≤x,y,z,b1,b2<2300 \leq x,y,z,b_1,b_2 \lt 2^{30}。

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

首页