首先,将衰减和的公式展开:
S(a)=i=1∑n−1(ai−ai+1)=a1−an.也就是说,序列的衰减和完全由首元素和末元素决定。
当对子数组 a[l..r] 进行一次循环右移后,我们只需关心新序列的首元素 a1′ 和末元素 an′ 分别是谁。根据操作区间的位置,可以分成以下四种情况讨论:
给定一个长度为 n 的整数序列 a1,a2,…,an。
定义该序列的“衰减和”为相邻两项前项与后项的差值之和: S(a)=∑i=1n−1(ai−ai+1)。
你可以对序列恰好执行一次操作:选择一个连续子数组 a[l…r](1≤l≤r≤n),将该子数组循环右移任意正整数步。一次循环右移会将子数组的最后一个元素移到最前面,其余元素依次后移一位。经过若干次循环右移后得到新序列 a′。
请计算在恰好执行一次操作后,能够获得的最大衰减和 S(a′)。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册