信息学竞赛经验介绍
2019-10-28 8:45:11
A考前阶段  
1、提前15分钟入场,利用好这几分钟的时间,做好准备工作。 
2、静坐调整心态,适当的深呼吸,不要紧张、坐立不安等。 
3、设置编辑器IDE: 
i.默认路径 
ii.窗口大小 
iii.TAB宽度 
iv.编译功能 
v.重启 
IDE 
i 你喜欢的屏幕分辨率。 
ii 平时惯用的字体。 
iii 字体大小不要太小方便查错。 
4、准备文件: 
i.创建.in .out。 
ii.建好模板(头文件,输入输出) 
iii.测试模板准确无误 
a. 同时注意文件名,保存要求,目录结构 
b.某些省份(如 河南)要求同时提交.exe文件,注意不要漏交。) 
5、休息|再次调整心态:不要去想结果,只看过程,努力了就一定不会白费。 
B看题阶段 
1、不要急于看内容,先将试题第一页的时间、内存限制等等一字不落地看完。 
i 虽然1s+128MB内存 (这是以前的了,现在应该是 1s + 256MB) 是标准配置,不过也不是每道题都是这样的,还是请认真阅读试卷首页的试题说明 
ii. 计算内存的方法:数组大小*类型长度/1000 / 1000=所占内存MB数,int(Pascal:longint)类型长度是4, long long (Pascal: int64) =8 
iii. 记不住的话,记住int (Pascal: longint) 型数组在128MB内存下最大开到2500 0000是比较保险的(占100MB内存) 
2、开始看题,看题时不能走神。重新描述并将题目抽象化简,提出主干信息。 
读的时候积极思考,看看这某句话到底是个什么意思,要会转换。比如对于有时间的问题,到底把时间看成一个点,还是一个区间。 
3、结合样例看题目,确保自己题意理解没有错(如果样例错了回到上一步修改主干信息)。 
具体题目具体分析,一定要符合题意。题没读懂就开始做,100%是错的。题错,思路也就错,时间浪费了, 数据还是1个都不过。 
4、看完题目后将其归入某几个框架中,包括:模拟/枚举/搜索/贪心/动态规划/图论/分治 
5、根据输入数据的范围大致确定算法复杂度,以下均是可能情况,不绝对: 
20:2^20=一百万,O(2^n),搜索 
100:100^3=一百万,O(n^3),Flody/APSP/搜索 
1000:1000^2=一百万,O(n^2),动态规划/图论 
500000:O(nlog(2,n)),二分答案/二分查找/快排/归并 
1000000:O(n)或O(1),数学问题/改变思维方向/贪心 
C写题阶段 
1、写下代码前,必须保证有充足的思考时间,有成熟的想法后再动手 
所谓Think Twice, Code Once, 一定要想好了算法,思路清晰了再编。 
对于稍难得题目:分析问题时遇到一些即兴问起的情况,马上要深入下去,看已有的算法思路是否有问题。经验证明,这种即兴提起的问题往往是决定算法正误的关键问题。这是一种本能的质疑,本能的差错,一定不要想:我一会再来看这个问题。一定要立即想清楚,看算法怎么样处理才能解决这样一个问题。确认算法没有什么错误了再编。如果思路没清晰,算法不对,编到一半时才发现错了,这种情况没有考虑到,浪费了很多时间,或者编完了都还不知道算法是错的,最后由于样例特殊,过了样例,以为对了,但实际上只得10分,或者根本不得分。 
对于简单的题:也一定要考虑全面,不是编好了程序再来考虑全面,而是想算法的时候就要考虑全面。不要知道个大概就开始写,后来发现一些特殊数据要作特殊处理,又把程序改过去改过来,改得面目全非,最后老是改不对,不但影响心情,而且还是错的。 
总的来说:想好算法,写下各个变量的意义,明确使用的时候都是遵照这些意义的。写下关键的句子,分清各种情况,这个阶段最重要,一定要仔细,不要急着编程。理清了思路再编程,写好了关键句子再编程,弄清楚了变量再编程,速度会很快,而且正确率也很高。很多人就是犯不思考就编程这个错误,最后自己就昏了。于是浪费大量时间,而且题也做不出来。 
2、不能想一点写一点,就算是输入部分也要在整体思路理清后再写。 
3、写代码
下一页 
返回列表
返回首页
©2025 蚌埠市信息技术协会 电脑版
Powered by iwms