信息学竞赛经验介绍
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、写代码

下一页
返回列表
返回首页
©2024 蚌埠市信息技术协会 电脑版
Powered by iwms