考试时的方法多数不是“灵机一动”现场创造出来的,而是平时刻苦训练中积累出来的。
俗话说得好,“水滴石穿”,但“水滴未必石穿”,如果水根本没有滴到石头上,或者恰好滴
到了最坚硬的位置,即使费劲九牛二虎之力,也未必能够“穿石”。所以,只有“找准位置”,
再加上时间的积累,才能达到“水滴石穿”的效果。
信息学竞赛平时的训练也是如此,如何在有限的训练时间内达到更好的效果,就是本文
与读者共同探索的方向。不仅是在考试时要讲究应试策略,平时的训练也要讲究方法,讲究
技巧,才能“事半功倍”,收到较好的效果。
        书籍推荐:绿书+蓝书(青少年信息学奥林匹克竞赛培训教材 系列)、算法导论(也是
黑书)、粉书(全国青少年信息学奥林匹克联赛培训教材)、黑书(算法艺术与信息学竞赛 建
议水平高的人看)、新编实用算法(建议水平高的人看)
建议参加 NOIP 的选手将绿书、蓝书、粉书全部看完,再看一些算法导论中的基础内容。
参加 NOI 的选手应将算法导论看完,算法艺术中不是特别难的题目看完。
        题库推荐:PKU(顶级推荐,题目质量高,题库影响力大,不仅学信息学还能学英语)、
Usaco(强烈推荐,很经典的题库,Nocow 有翻译)、Vijos(一个非常不错的中文题库)、Ural
(水平有所提高了可以去做做,也有很多经典题)、Rqnoj(题目质量不是太好,不过也是一
个题库)
        建议参加 NOIP 的选手以做中文题库为主,由于当前命题趋势越来越简单,所以 Vijos、
Rqnoj 都是不错的选择。笔者 NOIP 前,在 RQNOJ 上通过了 286 题,位居第一名2,最终在
NOIP2008 中取得了 330 这个不错的成绩。练好简单题,算法一眼看出,程序直接敲上,保
证一次 AC,也是一种难以达到的水平,代表着选手对编程语言的熟悉程度,在今天的 NOIP
中有着得天独厚的优势。尤其提醒以“拿一等奖”为目的的选手,不要盲目钻牛角尖、死抠
难题,这样浪费了时间,因为 NOIP 并不考这样难的题目。
        建议参加 NOI 的选手做一些难题,如 PKU 就是不错的选择。以 NOI 为努力目标的 NOIP
选手,在备战时诚然应该做一些难题,为将来打基础,但更重要的是练好基础,保证进入NOI。
笔者所在的竞赛小组就有几位难题实力很强的选手因为考试时紧张,出现了低级错误,未能
进入省队,令人惋惜。NOIP 结束,才可以抛开水题,全力攻坚。因为信息学竞赛不同于其
他学科竞赛,省赛、全国赛之间有很大的时间差,这时猛攻难题是完全来得及的。
知识来源:40%来自于书本、40%来自于做题、20%来自于网上其它的资料。
        Cai0715 的 OI 技巧
1、学会总结,我基本上每学完一个章节的东西就会拿多一段时间来进行总结。总结的
时候,先列出一个目录,把这一节学到的知识点写进去。然后在下面分别拓展出这个知识点
的原理、用途、编程流程、关键代码、优化、和其它同类算法的比较、复杂度估计、模块化
代码、相应习题等等。这样,可以很容易的把一个一个的知识点串在一起记住它。(附录里
有我的总结样例)
2、要拿出一定的时间看书,书是人类进步的阶梯。相信很多 OIer 都很喜欢做题,忽
略了看书这个重要的环节。其实只有阅览群书,才能学到更多的知识。例如,某个算法你会
N^3 的算法,但是某本书上用 N^2,甚至 N 的复杂度就给解决了。如果不看书,如果考试正
好出这个知识点,或许你就只能拿部分分了。
3、合理安排时间(特指放假或集训的时候)。清晨 7 点到 9 点这段时间,是人们头脑最
清醒的时间,这个时间段内,尽量不要去调程序,可以去做一些其它的事情,比如看书、总
结等等。而 9 点之后这段时间,建议去做题,这个时候一般花一个小时就可以编出在其它时
间要花一个半小时才能编出的程序。到了中午,吃完饭一定要睡觉,否则下午会很没精神,
效率会很低的。下午呢,一般就比较综合了,比较随意了,可以自己安排。晚上,我一般都
是继续调程序,因为想不出晚上干什么会高效一些。
4、学会适当的休息,不要长时间干同一件事情。当你编程序进入了一个死角的时候,
或许思维会很混乱,总想找出错误或优化这个算法,但是一片空白,很盲目。这个时候,你
真的需要休息。去外面小小的溜达一圈,看一看窗外的风景,这样就可以换一个心情,换一
个思维。在你休息完之后,你会发现,刚才你之所以找不出错误,是因为身在此山中。
5、养成编代码的良好习惯,这个各位可以参考其它大牛的程序。我的程序一般都是用
过程堆起来的,每个程序必有的 Init 和 Main 过程,可能 Init 里只有个 read(n),但是为
了保持程序美观,完整个人的习惯,还是单写了一个过程。但是不要大量的调用过程,比如
在某个 3 重循环里调用过程,因为调过程也是需要一定时间的。除了这个,我还在每个过程
中间添加了一个分割线,以便阅读。还有,各位还需要注意换行、空格等问题,养成良好的
习惯,尽量使其美观,方便阅读(附录里有代码样例)。
6、学会心理暗示。这个也是很重要的,当你做不出某个题的时候,一定不要乱,心理
默默的暗示自己,既然自己不会,别人做起来一定也不会舒服。当你做出某个题,一定不要
盲目的高兴,要把自己的思维控制住,这样才能用形象的思维去做下一个题,所以我们一定
要暗示自己,这个题自己会做,别人做起来也会很容易的,不能骄傲。
7、学会抗干扰,干扰有很多类,大概就是人为、自然因素。人为因素,当别人早早的
做完题或者别人在说话、讨论的时候,一定要控制住自己,不要慌乱,否则你可能会编的程
序最后得个 0 分,所以一定要在众多次干扰中,积累抗干扰的经验。自然因素,当太阳直射
你的时候、当寒风呼啸你的时候、当键盘生硬难敲的时候、当屏幕反光的时候,你一定要学
会去适应,因为很多时候在考场上会出现这样或者那样的问题,给你的只有 3 个小时,没有
多余的时间去考虑这些无关的问题,只能适应。综上所述,抗干扰很重要,即使没有干扰,
我们也可以为自己去制造干扰。
8、写程序的流程要合理安排,这个很重要,也是非常重要的。我就把自己是怎样做的
写出来吧,可能不是太好,只是一个借鉴。1)我会用大概 5 分钟左右去完整的阅读题目,
因为多一点时间阅读题目,总会有意想不到的发现。2)用 10-15 分钟的时间去设计算法,
要尽量躲避第一印象思路,因为这个思路往往是错的,设计算法不仅要证明这个算法的正确
性,还要从时间、空间等因素来考虑是否,千万不要很草率的结束这个过程,因为当编完程
序再来改正错误的算法,往往会浪费更多的时间,例如说高一的我,看见题就想做,大概理
出了思路就去编程,但是反过头来发现,其实是错的,结果浪费了时间不说,心情还很不好。
3)利用 5 分钟的时间写出程序的框架,第一步该干什么,第二步又该干什么,一步一步的
写出来,再对每一步进行一些拓展,写出关键的伪代码等等。这样,才能让自己在编程的时
候条理性清晰,才能降低出错的几率。4)编程 10-20 分钟,前面的工作都做好了,这个过
程应该是非常容易的,注意不要犯打错变量等低级错误就行了。5)查错 10-20 分钟,往往
第一次编出的程序都是错的,具体的查错技巧下面会写出来。这样,一个程序就算写完了,
我这个算法流程只是提供一个参考,具体每个流程的时间大家可以看情况去安排,一般简单
程序 30 分钟敲完,中等点的 50 分钟,难点的 1 个小时左右。这样才可以更上 NOIP3 个小时
的节奏。
9、静态查错。这个是很重要的,也可以说是非常重要的。何谓静态查错,就是编完代
码之后,不去干其它事情,只是安静的从头到尾的把自己的代码阅读一遍,比如说普通的编
译错误、变量是不是打错了、数组开的够不够大、程序的逻辑性是不是还存在问题等等。这
个时候,一般是很容易发现错误的,并且还会有一种成就感。但是如果你编完之后去测样例,
可能样例是过了(因为样例是很弱的数据),但是其实程序仍漏洞百出,或者测样例都错了,
这个时候会严重影响你的心情,再去查错的话,事倍功半。
10、出测试数据是个大学问。测试数据一般分为,小数据、大数据、极限数据等等。所
以我们一定要从这几个方面,各出几组测试数据。小数据可以手算,很容易出结果,相信是
OIer 最喜欢的。极限数据也是指那些边缘数据,比如说某个数据导致你数组越界、被 0 除
等等,一般很多题目都存在一两组这样的数据。大数据的话,一般是去检验程序是否超时间
和超空间,因为结果是否正确,真的很难手算出来,除非很离谱的错误。
11、检验程序的正确性,这个除了设计算法时的证明外,如果有时间允许,我们还可以
写一个效率低但是绝对正确的算法来和原程序进行对比。这样,我们利用上面出测试数据的
学问,加上这个手段,一般可以 80%的判断出你写的这个程序是否正确,进而不断完善。(还
有一个小技巧,就是利用.bat 文件,判断两个输出是否等价。)
12、善于交流,这个就不知道怎么说了,就是多和其它人交流。
其它
1)培养对 OI 的兴趣。
2)胜不骄,败不馁。
3)不抛弃,才有希望;不放弃,才
能成功。
4)天才是 99%的汗水+1%的灵感,对学 OI 尤其适用。
5)学完某个算法时,尽量把
模块化代码保存下来。
6)如果 NOIP 一等奖名额只有 1 个,那么相信自己就是那一个。
7)制定好目标,分为远大的目标(上哪个大学),中期的目标(拿一等、冲省队、夺金牌),近
期的目标(学会哪个算法、模拟赛要达到多少分)。8)赛前一周多复习,多做简单题,不要
再去钻高难度的题,这是 NOIP 不是 NOI。9)专心致志,学习时就不上 QQ,不上论坛。10)
细心,细心,再细心。

2.4 找准位置,水滴石穿相关推荐

  1. div标签嵌套多层如何找准位置

    当<div>嵌套多层后,有时候找到一个准确的位置有点难,用margin属性,会改变其他<div>的布局,这时候可以用这个方法: div{left:30%;top:30%;pos ...

  2. 找准品牌定位,努力称为一个合适的品牌营销人才

    品牌营销策划需要什么人才? 能够找准品牌定位的人. 你还真别小看,品牌策划定位不容易,做好赢一半 从零开始搭建品牌的第一步是寻找定位 什么是「定位」? 定位的定义是:透过产品及相关业务在目标消费族群心 ...

  3. 找准边界,吃定安全 | 云化下的新边界,东西南北流量该如何防护?

    实现业务计算集中模式的云计算数据中心 云内东西向流量不可见不可控 云计算数据中心的安全建设要求再度升级 如何保障云上环境的安全运行? [找准边界,吃定安全]往期文章: 从访问控制谈起,再看零信任模型 ...

  4. 弹性碰撞后速度方向_找准模型,快速求解碰撞类问题

    找准模型,快速求解碰撞类问题 正式开讲之前,扯一会儿废话!很多小伙伴可能根本不会看下去,想想动量守恒,有什么好看的呢?人需要自信,但也不能太自信,有时候,明明大家知识点掌握的都一样,却有人能考高分,而 ...

  5. 找准切入点,调试看源码,事半功倍

    关注若川视野,回复"pdf" 领取资料,回复"加群",可加群长期交流学习 最近写了很多源码分析相关的文章,React.Vue 都有,想把我阅读源码的一些心得分享 ...

  6. 计算机选购知识点,笔记本选购知识点,找准自己的需求才是王道

    笔记本选购知识点,找准自己的需求才是王道 2019-11-07 10:23:03 0点赞 0收藏 0评论 笔记本电脑是选择应用比较广的电脑类型,不管是什么人群都能够使用它,它可以学习.办公,还可以娱乐 ...

  7. 让研发团队找准市场需求

    让研发团队找准市场需求 郭富才     建立一个虚拟的团队,定义合理的流程,寻找真正的客户需求. "我们公司没有市场营销部门,只有销售部门,销售人员只管销售目标的完成,客户反映的信息不能传递 ...

  8. 找准边界,吃定安全 | 高性能硬件防御问题难解?硬件加速引擎闪亮登场

    山石网科 A7600 智能下一代防火墙 高性能.高可靠.轻量化.更便捷 软件灵活性和硬件高效性的统一 [找准边界,吃定安全]往期回顾:  串联边界设备协同,便捷运营思维让安全更有效 流量剧增?看山石网 ...

  9. 弘辽科技:淘宝宝贝标题怎么找准关键词?做标题的3个学问

    原标题<弘辽科技:淘宝宝贝标题怎么找准关键词?做标题的3个学问> 商家都知道淘宝宝贝的关键词对店铺运营的重要性.关键词选择对了,对后期的店铺发展有极大的帮助,可以很好的打下基础,最终起到事 ...

最新文章

  1. OpenCV Python教程(2、图像元素的访问、通道分离与合并)
  2. 批处理-文件比较生成
  3. 【Python】Python字典的高级用法-统计计数
  4. java用for循环修改密码_Java for循环的几种用法分析
  5. Python萌新笔记
  6. 计组之I/O系统:1、I/O系统基本概念
  7. 归并排序Merge sort(转)
  8. 12v服务器电源改可调_赫尔槽试验电源的选择(修订版)
  9. 怎么将linux的动态IP设置成静态IP
  10. vSphere虚拟机磁盘热扩容
  11. Python题库(100例)第一天
  12. .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  13. HSF (RPC远程调用框架)
  14. 思科、华为等四大厂商网络工程师面试题汇总+解析(第1期)
  15. 2020中级会计师考试教材
  16. Android虚拟电脑,如何让你的android模拟器连接上你电脑的网络
  17. VMware没有未桥接的主机网络适配器,VMware bridge protocol服务卸载不掉
  18. mysql查询的结果拼接字符串_MySql查询结果拼接成字符串
  19. Linux上一款强大的GIF录制软件,Peek
  20. 03基础自绘-13滑动选择-tumbler

热门文章

  1. windows 预览SVG缩略图
  2. LayUI数据表格操作栏,根据数据条件改变显示的按钮。
  3. 2019年ipa发布苹果应用商店审核指南
  4. js实现浏览器全屏与退出全屏,解决chrome下F11进入全屏后退出全屏API方法失效
  5. 用标号法求最短路径matlab,标号法求最短路径例题详解重点.ppt
  6. 分享 2021 豆瓣年度榜单电影/图书
  7. Hibernate Validator 6.0.13 声明和验证方法约束(Declaring and validating method constraints)
  8. 《炬丰科技-半导体工艺》多晶硅片表面过渡金属污染的影响
  9. Android 获取ROM版本号
  10. 计算机毕业论文里的编程,计算机编程毕业论文正文