题解:P11748 「TPOI-1B」ASPAP
贪心好难。。。
看到有大佬
赛时一直在调取第
看完题解才发现其实这道题并不能纯粹的贪心,特此记录
思路
一开始很容易想到一种做法:选取第
但这种做法的错误性在样例中就可以体现
对于样例
但这种思路的其中一部分是没有错误的:
"如果前面的若干位已经确定不变,剩下的可以任意改变顺序,那么改变顺序时,让数值较大的放在前面"
有了这个基础,我们就要思考怎么确定不变的若干位
那么手模一下就可以发现
如果填入当前位可填数的次大值及以内的数
就可以使第 i 位后面的位都可以填入剩余数字的任意排列
所以对于当前位就取两种情况:
-
求出这一位填入可填数的次大值,后面的每个数将剩余数降序排列后的结果
-
后面所有位填剩余数的最大值的最大结果
以上两种情况取最大值输出答案即可