noip31】的更多相关文章

T1 关于我考场上乱冲平衡树这件sb事 很快就冲了出来 然后手抖打错样例,把我hack了 sb字典序 正解: 先不考虑字典序问题,先将最大分数找出来,然后按照顺序考虑每一个位置填什么那个数能让分数尽可能的大,题解说显然,这样的数是具有单调性的,所以可以二分来求. 然后就可以用线段树来维护最大分数,然后对每一位二分,来找出字典序大的方案即可. 代码缩进可能有亿一点点怪,不要在意. 附带精美调试信息 Code #include<set> #include<cstdio> #includ…
考场 没有一眼题 T1 想到先贪心地算出最大得分,任意构造出一种方案,不断调整以增大字典序. T2 发现在 \(x_k\) 确定的情况下操作次数就是左右两边的逆序对数,\(x_i\) 互不相同时直接找到最大值,枚举它最终的位置,BIT 动态维护逆序对.若有相同则最大的 \(x_i\) 最终的位置没有交集,并集为 \(n\),感觉非常对. T3 没多想 T1 一开始以为每个位置只会换成一个它后面的更大的 \(a\),那么就可以以 \(b\) 为下标,\(a\) 为值建线段树,在保证得分最大的情况下…