NOIp参赛总结反思
我是一个刚上路的新司机啦~
——GoAway
11月25日于长沙市雅礼中学
简要目录:
心理历程简要的解题过程成功之处失误与不足未来计划后记心理历程
人生第一次参加这么正经的竞赛,还是第一次了,虽说以前也是参加过各种的(数学)竞赛的,但是那都是很久之前了,心情也是不一样的,以前仅仅是玩玩的心态,而现在是正经的了。以前没有经过准备,而现在是经过了接近半年的训练的。
在开赛一个月之前,我的内心是十分紧张的,总是觉得要拿个什么什么奖,这样在训练的时候,就没有达到很好的效果,没有完全静下心来吸收知识与教训。
后来的一个星期,心情就渐渐地平静了下来,对于每次的模拟赛,都不去想要什么什么名次了,其实效果还是不错的。但是在停课的半个月里,在遭遇了一次大规模编译错之后,内心又开始慌乱了,之后每次都想着这一把要翻盘,但是就又是什么爆内存啊交错源程序啊什么什么的。还好,最后一个星期内开始调整、恢复,还是平复了心情,于是又渐渐回到了正轨。
直到进考场前,我都是保持“淡定”的,但是,真正进入考场之后,见到了题目,以前养成的考试的习惯也都不记得了。甚至在Day2的时候,连Vim的编译配置都忘记了。主要还是紧张了,在真正的考场里就手忙脚乱。也不知道紧张什么,反正就是莫名其妙的心慌。
简要的解题过程
有几个主要的问题。第一就是没有真正认真地看题目(Day1T1,Day2T1),第二就是没有正确的分配时间,再就是过于相信以前的“经验”,没有自己的主见。
Day1 T1
这道题其实是一个简单题,用几对if,else就可以解决问题了,但是由于误解题目意思,还弄出个双向链表,搞了近半个小时,这也就浪费了时间。不过幸好样例数据2比较良心,让我发现了这个错误,不至于Day1T1爆零。
Day1 T2,T3
看到第二题的特殊数据,脑子一热,匆匆扫一遍第三题就马上着手分点骗分,没有考虑到这是没有样例数据检验正确性的,也没有考虑到工程量也是浩大的。于是就如此完美的跳进了这个大坑,等到完成所有骗分的代码时已经是11:40了。
所以呢,再手写了一组测试数据后就没时间打第三题了,甚至是骗4分的直接输出都没有。这也就是典型的没有正确的分配时间的表现,完赛后的自测这道题也就只有20分而已。况且,T3的真实难度是小于T2的,这样其实也是得不偿失的,如果没有迷信什么“两个T3直接骗分”以及仔细读过、思考过每道题目的话,说不定会在T3骗多点分的。
Day2 T1
显然,看到组合数就是 杨辉-帕斯卡三角形,然后这道题实际就再加一点点类似于前缀和之类的东西搞一下就好了。但是,真正交的程序确是一个暴力——因为又犯了一个想当然错误。一看到t组测试,就想到是t个不同的k的值来除(实际上是每个点只有一个,t组数据来测试罢了)。于是又开始冥思苦想,到最后9点半了怕浪费时间,于是匆匆拍了个暴力就完事了。其实,这也就是惯性思维和没有看清题意的的后果,也就说明以后必须在乎这一点。其实在平时模拟赛的时候就有类似情况的发生,但是当时就觉得没关系,反正就是一次模拟考试,同时也就说明哪怕是平时也不能放过任何错误哪怕是弱智的、低级的错误。
Day2 T2
其实这一题的问题描述啊输入格式啊其实感觉是有那么一点点恶心的,但是这道题是认真看过题目了的,经过思考,决定用priority_queue来做,于是一阵推算,还是搞出了这个自测有55分的算法的。
但是,在做的时候也出现了如下的一段迷之代码:
struct node{int lenth;friend bool operator > ( node a, node b ) {return a.lenth < b.lenth ;}} ;priority_queue < node, vector<node>, greater<node> > qu ;
其实这也说明了考试的时候还是太紧张了,整个人的脑袋都不好使了。
Day2 T3
其实等于没做,一通乱搞,毫无意义,主要是没有时间了又感觉像Day1一样不交也不好,于是就有了这个奇怪的东西。
成功之处
其实我个人觉得这次最好的地方就是 Day2 T2 的55分算法了。虽然不是正解,虽然只有55分。但是,这是经过我思考之后得出来的东西,要是在平时,遇到这道题目显然就只会打个无脑暴力10分,然后弃疗。但是在考场上,想到了“存储每根蚯蚓的原长”,然后再“对于每次需要真实长度时加上后来长的长度”,然后还有一些处理的方法。这种坚持思考的行为和没有弃疗的信念,也是在以后值得坚持和向自己学习的,即使感觉要爆零,也不能放弃。学竞赛,比保送啊降分啊这些更重要的应该是这种坚韧。
失误与不足
显然,第一点重大的失误就是没有严格跟着考试的步骤来,比如读题,读是读了,但是读的不仔细,理解错意思了(两天T1),读完了也没有经过对算法的初步思考与设计(Day1T3),就只晓得无脑写暴力,没有全局规划(Day1)。还有就是选择写暴力时没有考虑工程浩大(Day1T2),浪费了大量的时间。后来写正解的过程是几乎没有的(因为自己太辣鸡了),但是最后检查编译错炸内存的什么什么的还是做的可以的。第二点就是考前给自己毫无意义的心里暗示,比如进考场之前就想着T3弃疗算了,于是真正时候就是随便看一看就完事了,哪晓得这次不按套路来。其实这也是一个教训,以后不管是考试还是人生路上都要仔细对待每个问题,相信自己的判断力,不迷信权威(突然想起什么小泽征尔的判断是什么鬼)。
未来计划
考虑到这么好玩的竞赛路,虽然苦,但是快乐、心跳,所以要坚持这条路啦。对于未来,要放宽心,虽然希望自己进省队、进NOI,但是我觉得更重要的是磨炼自己的意志,锻炼自己的思维,培养自己的能力。在放寒假之前,还是先把文化成绩搞好去,然后再顺便复习一下以前没有掌握牢固(或者已经忘记了)的东西,绝大部分是数据结构。还有一点,就是尽量在机房就不搞文化,搞文化就不在机房,这样免得写程序又担心自己作业没写完,写作业又想着要做题,在哪里就做什么事,省的自己心烦意乱。进入寒假之后呢,可以考虑从UOJ(这家伙是我看得懂中文的)或者SGU(这家伙虽然看不懂但是题目貌似没有UVa啊什么什么的多)这俩选一个OJ板切。虽然肯定会这里卡一下那里卡一下,但是不能像以前遇到难题一样觉得自己还辣鸡或者怎么怎么就跳过、水过。相信只要多逼一逼自己,说不定就变厉害了呢~
归根到底,未来就是两点:仔细认真、坚持不懈。
后记
这次比赛,是遗憾,也是留恋;是惋惜,也是欢乐;是失败,也是成功。人生不就是一次次的见识新的东西,一次一次跌倒,再爬起来。含着泪咬着牙迎着暴风雪走向未来哪怕遍地荆棘也比平平淡淡走完安稳的路要幸福、要快乐。最后感谢我的父母、感谢 cnyali ,结尾初,就以我最喜欢的一首歌的歌词来结束吧!
追梦赤子心
GALA乐队
充满鲜花的世界到底在哪里
如果它真的存在那么我一定会去
我想在那里最高的山峰矗立
不在乎它是不是悬崖峭壁
用力活着用力爱哪怕肝脑涂地
不求任何人满意只要对得起自己
关于理想我从来没选择放弃
即使在灰头土脸的日子里
也许我没有天分
但我有梦的天真
我将会去证明 用我的一生
也许我手比脚笨
但我愿不停探寻
付出所有的青春 不留遗憾
向前跑 迎着冷眼和嘲笑
生命的广阔不历经磨难怎能感到
命运它无法让我们跪地求饶
就算鲜血洒满了怀抱
继续跑 带着赤子的骄傲
生命的闪耀不坚持到底怎能看到
与其苟延残喘不如纵情燃烧吧
有一天会再发芽
未来迷人绚烂总在向我召唤
哪怕只有痛苦作伴也要勇往直前
我想在那里最蓝的大海扬帆
绝不管自己能不能回还
失败后郁郁寡欢
那是懦夫的表现
只要一息尚存请握紧双拳
在天色破晓之前
我们要更加勇敢
等待日出时最耀眼的瞬间
向前跑 迎着冷眼和嘲笑
生命的广阔不历经磨难怎能感到
命运它无法让我们跪地求饶
就算鲜血洒满了怀抱
继续跑 带着赤子的骄傲
生命的闪耀不坚持到底怎能看到
与其苟延残喘不如纵情燃烧
为了心中的美好
不妥协直到变老