jinqihao2023
2024-11-30 17:22:14
感觉晚上头有点晕,duel 了一个 1310E 就去睡觉了,用了 50min,感觉脑子还算能用?
早上 8:00 集合。
8:30 发题,看大样例,发现一个都看不懂,切系统,打开 pdf,先通读了一遍,发现两个
先看 T1,不是我怎么不会 T1 啊?一开始还尝试找结构直接算,后来发现不需要,注意到从前往后能匹配就匹配一定是最优的,于是直接做就好了,但是我糖了一下,不知道怎么实现,最后咬咬牙写了个 set,看起来跑的不慢,15min 扔了。
看 T2,看完就会了,大概画了一下计算细节,直接用 map 存位置,然后就做完了,大概也是 15min。
然后看 T3,想了一下发现大概就是,每个点旁边形成一个完全图,而一个完全图想要合法必须要形成一条链,那么就有了一个基本结构,但是具体的做法感觉有些细节,就先跳了,看看 T4 再说,大概用了 30min。
看到 T4 感觉很典,但是我又不是很会,于是就先试试套路的想法,试了一下直接扫描线,然后转成矩形加,但是查询的形式非常阴间,是斜线查询,这个之前模拟赛的时候想了很久不会做,那么感觉思路就不是这样的。
于是想别的方向,尝试考虑每个点对答案的贡献,那么就想到了 dsu on tree,直接维护每个点子树内在原序列上的存在性,然后每次加入的时候二分两次找到极长区间,这样就可以找出
那么怎么办呢,我又想了一段时间,发现我忘记了一开始的单调栈的想法,事实上我只需要用单调栈就可以把极长区间数量降到
于是我开始看 T3,还有 2h,而且已经有了思路,所以心态非常好,一开始的状态设计复杂了,常数也很大,而且需要分讨若干情况,后来发现状态大概是
于是最后 40min 大概检查了一下文件和做法,给 T4 上了个拍,然后瞪了一下 T1 的贪心,感觉没有什么问题就结束了。
应该是 ak 了?