noip 10.27模拟

今天总体感觉还好,但最后没有拿下第三题有点可惜。

先看题,第一题感觉很裸,觉得直接缩个环做次拓扑序就好了,接着看第二题,觉得比较繁琐,有很多东西要处理,去看第三题,题目描述有点问题。然后回去看第二题,画了几个单调栈,感觉就只是用线段树维护一些东西就好了,也不算太难打,第三题的题面也更正了,把图画了几层,发现层与层之间是独立的,但是一层的重叠情况比较多,我就先不考虑了。

去打第一题,半个钟左右打完,拍也很快过了,卡了一下常数。接着去打第二题,有点情况需要考虑,估计用了45分钟打完,一拍就错,调了几个小错误,搞完前两题后还剩下1个半钟的时间,全部拿来想第三题。

列举了一下一层的情况,发现只有20个三角形,直接2^20枚举并且压缩一下状态,感觉也不会太难打。于是就开打了。一开始思路不是很清晰,样例都没有过,调了几种情况,然后直接就去测大数据了。发现程序跑得非常慢,优化了一下转移。还剩大概20分钟的时间,想测几个小数据,但是我觉得很繁琐,十分难算,我就没去算了。

最后100+100+1….最后一题挂飞了

有数据之后,发现自己漏判了两种情况,都是样例没有过的时候加上去的情况,没有继续深入思考导致的。

并且第一题想的太复杂,不需要缩环,直接拓扑排序就好了。这样能节省大量的时间。

改正方向:
1. 简单问题复杂化的情况要尽量减少,在设计算法时要思考自己的某些步骤是否有必要。
2. 打程序前思路一定要清晰,分析好每一个细节,打完之后再去补bug很容易会出错或是漏掉情况。
3. 尽量不要怕麻烦,尽力手算小数据.确保万无一失。

你可能感兴趣的:(noip 10.27模拟)