这场打得十分之烂,赛场上只PP了AB,而且最后还FST了一题捂脸……愉快掉分QAQ。。。
A题一开始我码了个搜索,结果忘记特判QAQ……
B题码完后交了一发,然而由于比赛时提交太多CF挂掉,在很久之后我才知道WA了,于是又改了一下才过。
接着窝便去刚C题,由于没看清题目有个
Ek−EI<=U
的限制,给的式子窝看到j=i+1后就直接上了,求
Ek−Ei+1Ek−Ei
,这不是求斜率最值吗,窝码完一个维护下凸壳后发现连样例都挂不了QAQ。然后就没有然后了……
赛后发现C只要在稍微化简一下,把
Ek
扔掉就变成了求
Ej
在一个范围内的最值,直接二分一下就行了……
D就是把原来的问题转化成为求每天痕迹的个数
∑ti(1<=i<=n)
的最小值, 而且满足
ti ≥ max(ti−1,mi+ 1)
,以及
ti>=tj−(j−i)(j>i)
的限制,对于第一个可以直接从左到右扫一遍就行了,然而对于第二个限制,比较难处理,于是窝们考虑优先满足
mi和ti>=tj−(j−i)
的限制,然后在从前往后扫一遍,取前缀的最大值即可满足第一个限制。
E相当于风速渐渐变快的同时,左边的飞机时间会越来越短,右边的飞机时间会越来越长,只要两个飞机的时间段有交即可,也就是 (tA − tB)⋅(t′A − t′B) ≤ 0 ,tA、t‘A是左右两架飞机在风速最慢以及最快的情况下时间,这个式子也就是求个逆序对即可。实数离散时肯会出点问题,题解建议写分数,然而窝强行水了过去……