【第二十届西南科技大学ACM程序设计竞赛(同步赛)F 题解——斜率优化DP】

题目链接

Solution

把题中 f ( l ,   r ) f(l,\ r) f(l, r) 的定义改为 f ( l − 1 ,   r ) f(l - 1, \ r) f(l1, r),即令 f ( l ,   r ) : = f ( l − 1 ,   r ) f(l, \ r) := f(l - 1, \ r) f(l, r):=f(l1, r),如下式所示,其中 s i = ∑ j = 1 i a j s_i = \sum\limits_{j = 1}^{i}{a_j} si=j=1iaj,表示 a i a_i ai 的前缀和

f ( l ,   r ) = ( s r − s l + r ( r + 1 ) 2 − l ( l + 1 ) 2 + k ) 2 f(l, \ r) = (s_r - s_l + \frac{r(r + 1)}{2} - \frac{l(l + 1)}{2} + k)^2 f(l, r)=(srsl+2r(r+1)2l(l+1)+k)2

再令 v i = s i + i ( i + 1 ) 2 v_i = s_i + \frac{i(i + 1)}{2} vi=si+2i(i+1),化简得

f ( l ,   r ) = [ ( v r + k ) − v l ] 2 = ( v r + k ) 2 + v l 2 − 2 ( v r + k

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值