牛客2020寒假训练营2-H
七月 15, 2020
题意
牛可乐有 n 个元素( 编号 1..n ),第 i 个元素的能量值为 ai。 牛可乐可以选择至少 k 个元素来施放一次魔法,魔法消耗的魔力是这些元素能量值的极差。形式化地,若所用元素编号集合为 S,则消耗的魔力为 max i∈S{ai}−min i∈S{ai}
牛可乐要求每个元素必须被使用恰好一次。 牛可乐想知道他最少需要多少魔力才能用完所有元素。
题解
首先将元素按能量值排序
dp i表示用掉前i个元素的最小代价
dp i=min (1<=j<=i-k+1) {dp [j-1]+ ai - aj} =min (..) {dp [j-1] -aj} +ai;
维护 dp[j-1] -aj的最小前缀 O1转移
1 |
|
查看评论