萌新求助
  • 板块灌水区
  • 楼主Tyyyyyy
  • 当前回复7
  • 已保存回复7
  • 发布时间2021/12/6 16:00
  • 上次更新2023/11/3 22:47:39
查看原帖
萌新求助
333574
Tyyyyyy楼主2021/12/6 16:00

rt,朋友出了一道题但是给不出做法,求助www。

给定一个长度为 NN 的序列 S={s1,,sN}S=\{s_1,\dots,s_N\}

选择一个 k[1,N]k \in [1,N],将 SS 划分为 Nk\lfloor \frac{N}{k} \rfloor 个长度为 kk 的子段和另一个长度为 Nk×NkN-k \times\lfloor \frac{N}{k} \rfloor 的子段。设这些子段为 A1,ANk+1A_1,\dots A_{\lfloor \frac{N}{k} \rfloor+1}

注意:划分是依次的。即先尽可能地划分长度为 kk 的子段,再把剩下的一段作为最后一个子段。

对于一个长度为 ll 的序列 X={x1,,xl}X=\{x_1,\dots,x_l\},定义函数 f(X)=i=1l(li+1)xif(X)=\sum_{i=1}^l (l-i+1)x_i

对于一个确定的 kk,定义序列 SS 的值为 i=1Nk+1f(Ai)\displaystyle{\sum_{i=1}^{\lfloor \frac{N}{k} \rfloor+1}f(A_i)}

现在,你可以自由选择 kk,并自由重排划分出的子段。求序列 SS 的值的最小值。

注意:你只能重排划分出的每一个子段,不能重排序列 SS

数据范围:1N105,0si1091 \leq N \leq 10^5,0 \leq |s_i| \leq 10^9

2021/12/6 16:00
加载中...