6.30模拟赛总结
6.30模拟赛总结
赛时历程
早上八点,看题,二十分钟感觉T2最可做。
暴力仍然是摸索中打完/kk,这个时候是八点五十。看看T3,一头雾水,提到编码,脑子里只有哈夫曼编码这个名词,但我连那是啥都不知道,大概这道题是一点分都拿不到了。然后看看T1,这个 \(ny==3\) 总能写吧?仔细想想,发挥空间想象力!
一个小时之后, 尽管试过什么从简出发,画图模拟,感觉这个题真的是没思路,怎样都不会。
加上又有点困了,发懵了好久。
十点半,觉得还有一半時間,好好想想T2吧,唯一的救命稻草。
欸,好像中档25可以预处理每个点能到的地方然后询问二分,赶紧码码。
十一点多码完了继续想。回滚莫队?这个 \(r\) 移动的时候增删都好弄,但是这个 \(l\) 的移动就有些麻烦。如果真是回滚莫队,那只要想出来就一定会写。抱着这个想法,我继续想,感觉好像终于能做了,只要右端点分块倒序,左端点每块内倒序,似乎可以每次\(O(n)\)扫过去,复杂度应该就对了。
经过一些思路的修正,我发现刚刚那个中档暴力似乎忽略了一些情况,是错的,直接删掉,写正解了!!
十二点五十写完想拍一下,就算不能改了,(这个時間了,错了就改不对了),起码知道自己多少分了。
结果五千多组了,我以为终于要A了,结果出现错误了。
30分结束。
赛后发现
1 大火都靠T2,Rk前2在T3竟然也有3分,T1大家的分也不多,结果我忘了交我的特判代码少了九分。。em无所谓了。
2 没想到T2复杂度略玄学。我T了,同时中档也WA了,后来发现我的低档暴力能跑过中档。。也就是我能拿55分的。。。
可拿:55+9=64,实际:30。
技术总结
1 T1这个,算是计算几何了,或者说是积分的知识。因为当时过专题效率低下,我把计算几何给拉下了,这部分就很空白,暂时还是放放,过几天看看补点吧。
2 一直想着巧妙暴力。却忘记了还有数据结构可以办到我想办的事情。考虑每次增加一个 \(r\),那么所有能到\([fa[r],r]\) 的点,都能延申到 \(r\),即对于\([1,fa[i]]\),考虑它们能够到达的最右端,如果能到\([fa[i],r]\),那么就能更新它们的mx到\(r\),所以询问离线下来按照右端点从左到右排序,一边修改一边单点查询\(q[i].l\),这个区间最值的修改就可以吉司机啊!!!明明才做过没多久吉司机!!!!/fn
3 确实和哈夫曼树/哈夫曼编码关系很大。得学。