A
用时:1h
问题类型:LIS、数学
考试时以为那个排列随机的性质没有用,没想到随机排列的 LIS 期望是 \(\sqrt{n}\)。
然后倒序删点,如果删到 LIS 中的点,重新计算,复杂度是 \(n\log n\sqrt{n}\) 的。
总结:遇到这种带有随机的题,如随机树上点的父亲这种,可以看看一些性质会不会比较小,如树高 LIS 等。
B
用时:2h
问题类型:计数
给定一个序列如何判断是简单的,注意到奇数项和偶数项的判断条件不同,分两种处理即可。
注意 multiset 的 count 是 \(O(n)\) 的,考试最后 30min 才发现。
总结:要注意一些比较特殊的 STL 时间复杂度。
C
用时:5min
问题类型:数学
完全没有思路,其实 \(a,b\le 1\) 的暴力是好写的。
总结:开题后应该把所有题的部分分都看一遍,避免这种很水的部分分没有拿的情况。
D
用时:1h
问题类型:DP、网络流
赛时写了 \(O(n^2)\) 树形 DP,没有想到最小割。
没想到随机父亲的部分分,这种情况树高不高,直接用 vector 实现 DP 即可。
总结:能拿的部分分应该拿完,不要漏了。