赛前
1.周五晚上①看看之前自己写过的总结②回顾下每种算法思路和常见考题③背背算法模板.
2.睡前提前准备好①准考证②身份证或学生证③笔④水.
3.去考点路上再回想一下,引用库,文件输入输出,放轻松即可,通常见到同学装装弱最容易让自己放松下来.
比赛
4.比赛一般提前10分钟入场,可以操作电脑时首先①将屏幕分辨率调整为习惯大小②将编译器字号与字体改为自己常用格式,③快速写出自己编程模板,包括引用库,文件输入输出,常用函数等,下面是常用c++模板.
# include
# include
# include
# include
usingnamespacestd;
constintNR=1000;
intmain()
{
freopen("name.in","r",stdin);
freopen("name.out","w",stdout);
return;
}
5.在主文件夹下自己建一个和自己考号相同的目录比如BJ-0225,在你的考号文件夹中建4个子目录,然后在相应子目录下建立相应文件名的答题文件,比如c++选手源代码文件应为xxx.cpp,并将写好的模板粘贴进去.请注意子目录和文件名必须严格遵照试题上的要求:所有字母需严格一致.
6.竞赛期间,如出现系统死机、崩溃或硬件故障的情况,立即举手向监考求助;如经监考组技术人员确认非选手责任,选手可获得加时补偿。
7.开始比赛后,解压试题后,先不要着急看题,首先将第一页题目时限,内存限制抄到草稿纸上.
8.读完题目后,根据数据范围确定可支持的时间复杂度及大致算法,一般来说1s的时间支持10^8量级的简单运算,数组开到10^7量级没有问题.
n
n
n
n
n
9.不要受其他人的影响.如果你旁边的人飞速啪啪啪的敲键盘,不要慌,他可能是以这方式掩盖自己的慌张,十有八九算法是错的.
10.即使题目再简单也不要上来就写代码.首先动笔手动模拟样例,检验自己的算法是否能正确得到结果,及一些特殊情况能否解决掉.尤其是贪心,一定要论证贪心的正确性,或者多构造构造这种贪心会不会有反例,不要想当然.
11.一定是你会做这个题,程序才可能会处理这个题目.如果没思路,手动模拟模拟看看,在模拟的过程中可能就会有灵感.如果处理不了100%的数据,请降到60%或者30%,首先先把暴力的解法写出来保证基本分,很多时候60%-100%就是几行优化的问题,写完暴力后想象哪里重复计算了,能不能优化计算方式.
12.时间分配取决于获奖目标:目标一等奖建议时间分配20分钟,60分钟,75分钟,45分钟(10分钟机动),前2题争取满分,死磕第三题,第4题暴力拿最基本分;目标二等奖建议时间分配45分钟,75分钟,75分钟,0分钟(15分钟机动).
13.细节一定想全面,这往往是80分还是100分的鸿沟
①是否最大数据会爆int或运算的中间结果会爆 int?尤其取模一定每步都要取模.比如a[i] = a[i] + a[i - 1] + a[i - 2]要求最后结果对1,000,000,007.要写成
②在边界数据时程序是否会出错,或某些极端情况会不会导致数组越界
比如输入的x从1到10000,判断x是否为质数时,对于x = 1程序能否正确运行出结果
③局部变量是否没赋初值或多组数据的时数组是否忘记清零.
14.还剩10分钟时,停止编程,检查每道题数组大小是否与题目要求一致,文件名是否正确,文件目录是否正确.比赛结束时,应立即停止操作,不关机,有序退场,由监考老师集中回收选手程序.
15.北京一等奖线一般低于250分,没有失误远比灵机一动要重要.保证第一题第二题满分,第三题拿到50分,稳稳获得一等奖!
附NoiLinux工作目录以及文件命名规范说明,有需要的同学可长按识别下方二维码查看。
领取专属 10元无门槛券
私享最新 技术干货