比赛总结|2015noip提高组总结

比赛之前 这次是我第一次参加提高组的比赛。出发之前信心满满,感觉自己没有意外就能拿一等奖。赛前也做了不少练习,总结了下自己犯过的错误。
赛前的晚上睡得不太好,半夜醒了几次,可能是有点心理的影响吧。。
day 1
考前 我在比赛前20分钟进了考场,确保了电脑没有问题。我还是第一次在正式比赛用c++,关于STL的一些库在比赛中是否可用还不是很清楚。直到评委说了注意事项才放心。
接下来是比(si)赛(wang)全过程 【比赛总结|2015noip提高组总结】用了25min看完所有题目。对第三题的题目纠结了很久(因为很久没有打斗地主了)。
9:00——9:45 秒切了第一题。
然后也码完了第二题(第二题就是个bfs)。这次CCF给的样例数据真良心,有个较大的点(虽然我并不知道这是随机的还是构造的)。然后又过了自己出的几个数据。当时一心想着切了第三题,就没有对拍。
9:45——10:30 开始做第三题。由于第三题比较麻烦,我打算尽量把它简化。首先想到的是构出一个树,用一个点表示一个状态,但是担心空间和时间不行。
然后开始考虑DP。大致想出了转移方程,然后就开始码了。
10:30——12:00 但是后来越码越长,还发现很多没想到的地方。1h过后DP还没打完,然后放弃DP打暴力。。
可能是打得比较匆忙吧。比赛剩10分钟时打完,但是一直调试不出来。然后没有继续调下去,因为要检查前两题的文件名等问题。
赛后 期望得分是200,虽然有些担心会出错。听说大家第三题都打得挺长的,有些也没有打出来。
由于某种因素,下午很长一段时间都不想出去,晚上就去了附近的客村走了走。晚上睡得比前一天好多了。
Day 2
我一直很在意,day2的难度会不会加大很多。
比赛过程 8:30——8:50 看完题后整个人都不好了。貌似三道题都有难度,甚至比day1三道题都难。
8:50——9:30 后来发现,其实第一题只是个水二分。代码长度也只有700B。
然后开始想第二题。很快把状态设出来了(后来确定这是正确的状态)。然后我的脑子开始短路:
1. 想不到能过全部数据的方法(时间复杂度为O(nmk)的算法)
2. 忘了可以开滚动数组
然后由于没有思路,我选择暂时放一放这题
9:30——11:00(第三题的时间) 这才发现,lca也被划为noip知识点的范围。
看到有一个点n,m都为 3?105 ,感觉题目的常数不能很大,能打O(n)尽量打O(n)。然后的20min我陷入了一种思路的死胡同。
后来发现,答案一定在最长的一个路线上,然后想到了一个贪心算法。后来我选择了谨慎,在草稿纸上检查了算法的正确性,发现算法是正确的,然后就开始码。
然后打了个3K的程序,小数据都过了,拍了个大数据出了问题,然后改了出来。此时我的心在砰砰地跳,感觉已经切了这道题了,对自己突然有了信心。
11:00——12:00(继续第二题) 似乎把智商全都分到最后一题了,第三题还没想到能过全部数据的方法(其实只是一个很简单的优化)。于是开始打30分的DP。结果只能过K=1的点。。。然后还一直调不出来,最后10min选择放弃,然后去检查文件名等。历史总是惊人地相似
赛后总(chan)结(hui)
得分情况:day1(100+70+0),day2(100+0+35)
1. 对拍的意识不够。day1的T2没有打对拍,于是有一个小细节错了没有发现,以至于丢了30分。另外day2的T3只拍了随机数据,没有构造一些较特殊的数据,于是在一个部分出了问题,以至于丢了65分。
2. 总想着切掉一道题。于是没有从暴力或部分分开始想,当自己发现思路错的时候就会晚了,然后开始慌,这样就容易出错。day1最后一题就是一个例子。
3. 时间分配不合理。对于day1,我把太多时间放在的T3,于是T2没有检查。
4. 心态没有摆好吧。虽然初三上提高组也算是锻炼性质的,但是也要把它做好,求稳不求浪。另外也不要总想着能顺利拿高分,这会影响你的发挥。
最后再说两句
(感觉这篇总结拖了很久poi~)
然而很快要到高中了。这是oi非常关键的时间段。这次总结还可以用来在高中警醒自己的吧。

    推荐阅读