A. 陶陶摘苹果

一眼线段树维护单调栈,所以写就完了。

当然本题中修改不继承,所以有更好的一个$log$的做法。

 

 

 

B. 开心的金明

贪心地选择当前最优的策略。

用一个$set$维护备选的集合。

当跨月的时候,如果集合中元素个数大于限制数,

可以不断去除最劣的选择。

因为价值的增加是简单的加法,显然这样的贪心是正确的。

 

 

 

C. 笨小猴

数据很水,所以乱搞都能过,然而数据似乎确实挺难造的。

正解用了一种很巧妙的构造方法。

大概思想是按第一维权值排序,之后枚举相邻的两个。

选择其中第二维较大的一个,选择最后一个。

显然第二维满足条件。

考虑最坏的情况,即每个都选择了第一维最小的。

将分组规则右移一位,就可以证明第一维也是满足条件的。