P6155 修改

先不考虑增加的花费。从小到大增加每个数,求出每个数至少需要增加多少。

这显然是一组合法的修改方案,如果只考虑修改结果,那么这显然也是花费最少的结果序列。

所以我们只需要重新安排每个数的修改结果。假设原序列中的数 \(x_1,x_2\) 分别修改成了结果序列中的 \(y_1,y_2\),其中 \(x_1<x_2<y_1<y_2\),那么调换 \(y_1\)\(y_2\) 显然是不劣的,因为增加的总和不变差增大了

从大到小枚举每个数,每个数选择大于等于它的最小的数,最后排一遍序,较大的花费应用较少的增加次数即可。

posted @ 2025-02-25 20:39  Sumering  阅读(73)  评论(0)    收藏  举报