时间安排
7.30~7.40
分析了一下T2,分四种情况,有两种情况是二位数点,另外两种情况都是求前缀最大面积。
一开始想的是用兔队线段树做,发现需要再套李超线段树感觉很难受,后来又想,可能的位置只有前缀最小值,因此直接建树树剖套李超,但是没什么改变。
又想到,可以离线去做,事实维护单调栈和线段树套李超线段树,只需要支持撤销,复杂度两个log。
7.40~9.08
写T2,测完大样例写了个暴力对拍了一下,没有问题。
9.20~10.40
T1想到直接记忆化搜索做,写的很仔细,写完调过大样例就交了。
因为不会造数据,而且计数题,感觉大样例强度还可以。
10.40~11.40
T3写了个\(O(nk+k^3log k)\)的做法,能过第三档,第一档也跑的很快。
加了一下基于贪心的策略,不知道能不能过第二档。
考试总结
T1
发誓再也不信任大样例了,即使很难造数据,也要找几组小数据。
毕竟小数据虽然强度不行,但是如果错误很明显也是可以找到的。
T3
题解做法的复杂度感觉也挺炸裂的,但是加了很多剪枝,比如把位置一样的子序列合并,用主席树加速找第k小的数,其余部分和我的做法没有区别,但是复杂度确实就对了。
这道题的启示是:要敢于贪心,敢于剪枝,可以想象数据不强。