题解 2690: 蓝桥杯2022年第十三届省赛真题-重新排序

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

这题py的测试用例有点问题(已过蓝桥官网)AC

解题思路:前缀和、差分的综合使用比如求区间和,在某个区间都加上1,不建议求更新数组后的和使再次使用前缀和求区间和,因为会多几次循环会超时,建议直接元素相乘可以少几次循环即可AC代码有详细注释注意事项:就是m的输入和数组元素的输入在同一行所以会显示运行错误正常是m在数组元素的下一行参考代码:n=int(

重新排序——Java

#思路本题相对于前面几题更加常规,只需有正确的思路即可:重复加的区域我要放更大的数字,某个区域重复的次数越多,它排序后的数字就应该越大。#注意一定要设置long,不然会爆!炸!#代码```javaimportjava.util.Arrays;importjava.util.Scanner;public

蓝桥杯2022年第十三届省赛真题-重新排序

//巧妙运用标记及sort排序//寻找最大差值,实际上就是找最大值问题//欲使值最大,则要求重复的次数最```cpp//巧妙运用标记及sort排序//寻找最大差值,实际上就是找最大值问题//欲使值最大,则要求重复的次数最多此时可新开一个数组标记出现的个数每次加一//最终即可得出每个位置的出现次数//此
优质题解

蓝桥杯2022年第十三届省赛真题-重新排序

解题思路:```cpp定义a数组来存储原数组。定义cnt数组来统计每个数出现的次数。定义差分数组diff来求出cnt。将a和cnt中对应位置的数值相乘,累加起来就是原数组的查询结果sum1。对于最优结果,将cnt和a降序排序,然后将a和cnt中对应位置的数值相乘,