一个半月没模拟了,运营直接爆炸。
复盘:
拿到题先遍历一下,T1树上构造,肯定能过,先放一下。T2lcp+要求最大值最小,还是小数,大概就是O(nlogn)求sa+height数组,再打一个数据结构把lcp转化成RMQ问题即可。然后二分判定,一下子没想出二分判定的方式。
T3:修改序列+求以某个字符串结尾的本质不同子序列数量。
本质不同子序列可以线性dp求,那么这题就是dp优化。m比较小所以大概有什么奇怪的做法?肯定切不了了就先做这个。
0~1.5h:凹T3的dp,很好做,大概先O(nq)dp能拿20pts。
暴力WA,那就先写O(nmq)的再优化,过了样例没过自己构造的数据。
寄。去看T2了。
1.5h~3.5h:一直在做T2,也没想着换个思路,看见最大值最小就只想着二分,中间有一次猜到可能能直接根据大小分段再贪心(正解),结果自己给否了。
最后1h:做T1+几分钟糊了一下送的分,彻底寄了,T
1细节没处理好挂了。
题目:
T1:按理说能切的题应该先做为什么我把这题放到最后了?
最后一个点把正解写了可惜没处理好一个小特判。只要把每个点都往和1号点距离1/2/3的链上挂就行。上界充足,不必担心不够的问题。
T2:暴力可以高斯消元。。这个确实没想到。正解是一个贪心的分治,以后不能看到题面直接kmp了…(话说我写了100多行的sa+线段树RMQ竟然真就没分。。。亏惨了。
T3:序列上动态dp,事后发现是把last[a[i]]-1写成了last[a[i]-1]。。就很离谱。只能说争取一次写对吧,赛时找小错误确实有点难…
总结:
(1)能切的题先做吧。
(2)暴力挂了这题就可以光速放弃,先做别的。
(3)谨防出题人利用kmp系统诈骗(悲,不能只看题目关键词,还是要多分析题目性质