Gravatar
+1s
积分:571
提交:285 / 1051
回复 @liu_runda :
j的范围错了吧
应该是(i-1)-(i-j+1)+1<=k
化简可以得到j<=k+1

Gravatar
confoo
积分:905
提交:222 / 728
心好累

Gravatar
sxysxy
积分:2491
提交:603 / 1120
出门左转1384拿双倍exp
文件名忘改了RE了一次...QnQ

Gravatar
Hzoi_Go灬Fire
积分:2027
提交:666 / 1225

Gravatar
dateri
积分:1307
提交:587 / 1302
楼上正解

Gravatar
liu_runda
积分:2890
提交:1014 / 2190
单调队列优化DP,调了一节课。。。设f[i]为“不选取第i头奶牛时,前i-1头奶牛所能获得的最大效率”,sum[i,j]为第i头到第j头奶牛的效率之和(包括端点)
则 f[i]=max{f[i-j]+sum[i-j+1,i-1],(i-1)-(i-j+1)<=k},这玩意就可以单调队列求了。
sum[i,j]用前缀和求。数据类型unsigned long long 比较保险。

Gravatar
水中音
积分:1266
提交:406 / 833
改题路漫漫…

Gravatar
筽邝
积分:1128
提交:558 / 983
好多int64。。