洛谷2月月赛T2——歌唱练习(反悔贪心)
有个常规套路:每次选取一个后缀的物品,就可以保证选择的物品数量单调不降。因此将物品价值作后缀和处理,每次选取一个后缀的物品。
要满足“选取时间单调不降”的性质,可以对 \(t\) 数组这样处理:将所有时间取后缀最小值,得到一个单调不降的序列。按照这个序列与按照原序列选是等价的。
采用反悔贪心的思路:先尽可能选取当前的最优解,若发现在之后的选择中可以牺牲之前的选择来换取更优的选择,则将之前的选择反悔,并换上当前的最优解。代码采用的就是这种思路。
有个常规套路:每次选取一个后缀的物品,就可以保证选择的物品数量单调不降。因此将物品价值作后缀和处理,每次选取一个后缀的物品。
要满足“选取时间单调不降”的性质,可以对 \(t\) 数组这样处理:将所有时间取后缀最小值,得到一个单调不降的序列。按照这个序列与按照原序列选是等价的。
采用反悔贪心的思路:先尽可能选取当前的最优解,若发现在之后的选择中可以牺牲之前的选择来换取更优的选择,则将之前的选择反悔,并换上当前的最优解。代码采用的就是这种思路。