1 条题解
-
0
f[i]表示 前i条鱼组成仪仗队 获得最大魅力值。
f[i]= f[j-1]+ sum[j+1,i] (i-j<=k)
这里枚举 不要第j条鱼
预处理 sum[i] 表示前i条鱼的魅力累加和。
f[i]=f[j-1]+sum[i]-sum[j] 。
这样可以拿到部分分数。
观察 状态转移方程,很有优化的冲动。 如果 j1<j2<i
如果 f[j1-1]+sum[j1] < f[j2-1]+sum[j2] 那么 j1直接被j2淘汰,j1这个状态就不需要。 否则的话 肯定先用j1进行状态转移,而j2 还要保留。
这里我们可以借助 单调队列维护,并且是 f[j]+sum[j] 的单调递减的单调队列。
当然 可以用优先队列(堆)维护也行。标程用的是优先队列。
- 1
信息
- ID
- 1368
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者