NOIP模拟10.29总结

虽然实际分数跟估分差不多,但是前两题竟然没想出来、打出来,做的太烂了。

做题过程

T1看到题就想到了可持久化线段树,但是后面就蠢了。我想着先处理一个先序遍历(或后序遍历)出来,然后就不知道怎么维护…接着想到了用栈+二分的方法求最长不下降子序列,就想着将它变成线段树,结果一直不知道怎么删除影响…最后只好交暴力。
T2想到了跟题解一样的dp,但是有点虚,以为正确性有问题。打了之后,调过了样例,却没过对拍。调来调去总是有bug,然后竟然以为不能这样dp…最后依然交暴力。
T3之前做过,还有点印象,重新建图后就很好做了。打完之后有点不放心,又反复检查了好几遍,还改了两次写法。最后交程序时又检查出了一个初始连边的小错误。
T4没看懂A集合是什么意思,而且感觉计算表达式有点麻烦,就暴力都没打。

结果

40 + 50 + 100 +0
T1直接在树上做,用下标为A值的线段树(主席树)维护就行了。用线段树可以的话记录这个节点更新掉的值是什么,搜完这个节点回到他父亲时消除影响也很简单了。这么简单的做法竟然没想出来,脑子短路了。
T2合并的地方打错了,没考虑全。

总结

简单的问题不要复杂化,一条路确定走不通多走走别的路,使用一些简单有效的小技巧。
调试时要认真,要思考可能存在什么漏洞。
dp转移的情况要考虑全。
做过的原题不能错。

你可能感兴趣的:(NOIP模拟10.29总结)