扩大
缩小

【转载&&干货】Noip应试技巧

NOIP应试技巧
  • 如何看待别人的经验?
    • 我想大家都有台上的学长滔滔不绝,但是自己在台下漠不关心,或是老师考试前的叮嘱说完一会儿功夫就忘记了的经历吧。所以,有可能我接下来的所说的话,一到考场上就全部忘记了。
    • 那些别人所分享的经验与体会,都只是别人的,都只能是借鉴参考的意见;那些没有亲身体会过的经历,终只是一个故事;那些没有实践过的方法,终只是无用的话语。
    • 自己的经验才是最为深刻的。相比别人的体会,我们对自身失败和挫折的记忆会更深刻,而且,挫折越深,我们吸取的经验教训才更深入骨髓。自己的教训比起网上上的攻略,学长们的经验,都要更加深刻。
    • 这并不说明了别人的经验一无所用;相反的,一定要,一定要重视别人所犯的致命的错误。
    • 信息学不像平时的文化课学习,试错的成本十分低廉,最多就是一次段考的名次下降;它的每一次比赛机会都是极其宝贵的,对于一些机会较少的省市,NOIP可能就是唯一的比赛机会,也是唯一一次证明自己的机会。
    • 正是因为每一次大赛的机会都如此宝贵,所有犯下的错误显得那么可惜。每当我们在一次比赛中犯下一个错误,我们不希望会犯第二次;而且,我们也不希望学弟学妹们会犯下同样的错误。这里写下的经验与教训,都是真实发生过的;可能有的显得荒唐,可能听一次不会留下什么印象,但只希望在第一次错误犯下后,能记起这些的经验,提高自己的警惕性,同样的错误不要再犯第二次。
    • 最后,别人的经验终究是别人的,从中学习到自己的不足之处,加以改正,有进步就足够了。
    • 更加重要的是总结自己的经验。把每一次模拟的比赛当作仿真NOIP做,并不断总结自己比赛中出现的错误;列表总结,争取下次不要再犯。
  • 两个主要方面
    • 大家在考试结束后总会喜欢对答案,讨论考试内容;所以会常常听到些后悔的话:我在比赛中又犯了这个错误,那个失误,没有发挥出来;如果我写出来了,那会怎么样...
    • 竞赛中我们的目的就是得分。在比赛中,将自己能力范围内的分全部抓住,不丢掉不该丢的分,就是最好的得分方式。
    • 减少非受迫性失误:会做的都做对
    • 在减少失误的前提下增加得分:不会做的都蒙对
  • 减少非受迫性失误:
    • 理解题目有误:
      • 理解错题目是十分可怕的一件事情,在辛辛苦苦打完程序以后发现样例数据不符合,这样就会对心态造成毁灭性的打击;或者样例恰巧是对的,自己测试数据的时候就按着错误的思路走,也没有重新检查题目,直到出考场后与别人讨论才发现自己的问题。
      • A 仔细审题:
        • 仔细读题2-3次。
        • 做标记【细节/关键字】(Word里面做,草稿纸上显眼的地方,用不同的颜色笔做(多带几支))
        • 用样例来验证自己是否理解正确
    • 思路想法错误:
      • 有的同学会看到题目和之前刷过的题目很像,也不思考直接开打;也有的喜欢边写程序边想,遇到了错误的地方临时改正;有的同学写完了后才发现自己的思路根本就是错的。写错一道题目,比不会做一道题目还要严重,不仅浪费了大量的时间与精力,更会质疑自己的思路,影响后面的发挥。
      • B 三思而后行:
        • 在草稿纸上,而非大脑干想,推算自己的思路
        • 有了思路后验算样例
        • 遇到熟悉的题目要十分警惕,先要在草稿纸上演算计算步骤,并测试其正确性
        • 写下代码前要有充足的思考时间,最好举例子通过草稿验证
        • 不要写从未接触过/极其不熟练的算法,即使之前听说过
    • 时间分配不合理:
      • 有的同学可能一上来就和一道难题较上劲了,(主观认为这道题目十分简单大家都会做,我做不出来就落后了 / 我做过类似的题目,别人没有做过,我做了就能拉分了),在编程、调试等环节花了大量时间,导致其他的题目得分不理想。
      • C 暴力分全拿:
        • 通读题目,并观察题目的部分分分布
        • 揣摩出题人的每部分部分分意图,这部分是给什么算法拿的?
          • 通过数据范围大致确定算法复杂度
        • 利用考试的前几个小时,把自己能力范围内的分数全部拿完,再挑战自己没有多少把握的
        • 这样前面的分数能给予不小的安稳感,至少比赛分数能达到一个满意的下限
        • 一定要打部分分的程序
          • 1. 你的满分程序成功打出来了:使用对拍验证其正确性
          • 2. 你的满分程序没有打出来/没时间编写了:至少有这部分的分数
          • 3. 没打出来+没写部分分:0分
    • 调试失误:
      • 由于调试时候的错误,并没有成功验算程序的正确性
      • D 全方位检查
        • 静态查错:阅读程序,挑出其中的低级错误(变量,循环,复制代码时候的调整)
        • 样例数据:“输入输出格式”是否正确
        • 小数据:手工可验算,较为容易查出错误
        • 极端数据(小):n=0,1等极小数据,边界问题,查看是否出现漏判
        • 极端数据(大):按照题目给定范围,给出极端数据,看是否存在
          • 数组溢出
          • 数字运算溢出
        • 对拍:数据随机生成,与暴力程序相互验证正确性
    • 心态失衡:
      • 有可能旁边坐的是一个大神,键盘的响声严重的影响到你。
      • 有可能是你心里自认为题目很简单,以自己的能力完全可以考到理想的分数,但比赛中发现自己今天的状态力不从心。
      • 有可能赛前背负了过分的压力。
      • 最糟糕的事情是就在考试的过程中,你发现了自己犯下了严重的错误。焦虑,急躁,自暴自弃,都是可能发生的,并且会严重地影响接下来的发挥。
      • E 深呼吸,心理暗示
        • 比赛之前一定要淡定!
        • 遇到卡壳的情况,深呼吸,上厕所洗把脸!
        • 相信自己只要把该拿到的分拿到,考出一个不让自己后悔的分数,就是自己的进步。
        • 充分利用考试剩余的时间得到尽量多的分数(就像背包问题一样规划,用有限的时间来拿最多的分啊),而不管其余人的表现。
    • 低级失误:
      • 信心满满的从考场中走出来,但最后看到成绩单上令人无法相信的成绩;倒在了终点线前5米处。
      • 模数少打了一个0,文件放错位置了,等等令人惋惜的非智力因素错误
      • F 最后十分钟全面检查
        • 这十分钟是最为紧张的时候,应该果断放弃编程(除非你想放手一搏),回头检查以下内容:
          • 程序文件名,输入输出文件名
          • 输入输出格式与样例对照,换行,空格,特殊的字符串("Yes"、"No"、“Impossible”)的大小写
          • 数组空间大小,对比空间大小限制
          • 题目的给出的一些常数,模数,乘积等
  • 骗分导论:
    • 我不怎么管这个叫做骗分,只是合理利用规则得分。
    • 方法
      • 打表
      • 找规律,猜想算法
      • 贪心
      • 搜索
      • 样例
      • 无解
      • 暴力 + 分段
posted @ 2018-06-15 18:28  luv_letters  阅读(393)  评论(0编辑  收藏  举报
AmazingCounters.com
博文导航目录