只有脚踩上去才知其远近和曲折

NOIP注意事项

文件目录建立格式

题目示例

《NOIP注意事项》

要求

比赛开始前,选手应仔细核对考桌上参赛标签信息是否正确。
竞赛组织方事先已在某盘根目录下建立以选手参赛编号命名的文件夹,选手应检查该文件夹名称是否正确(包括编号及大小写字母),如有错误须立即上报监考人员,由监考人员进行更改。确认无误后,选手须为每道试题再单独建立一个子文件夹,子文件夹名与对应的试题英文名相同(参见试题封面页)。选手提交的每道试题的源程序必须分别存放在相应的子文件夹下。在规定文件夹下,不得包含除有效答案(源程序)以外的任何文件和文件夹。未按规定检查、建立文件夹、建立的子文件夹名出现错误或提交的源程序没有存放在相应的子文件夹下等都可能导致选手成绩为0分,责任由选手承担。

例如:假设题目有cashier、dune、manhattan三题,选手JS-001分别使用C、Pascal、C++答题,其最终提交的文件为cashier.c、dune.pas、manhattan.cpp,则该选手应建的文件夹结构如下所示:

|---JS-001    (此文件夹已经建好)
    |---cashier/
        |---cashier.c
    |--- dune/
        |--- dune.pas
    |---manhattan/
        |---manhattan.cpp

比赛中涉及的所有文件名(包括源程序名、输入文件名、输出文件名、答案文件名),都必须严格按照题目要求命名,严格区分大小写。例如:题目要求输入文件名为game.in、则程序中必须按照该名字打开文件,不能使用Game.in、GAME.IN等名字。
注意千万不要写成其要求不一致的单词,所以建议复制粘贴题目中的英文名

比赛技巧

一、头文件:

建议不要冒险,建议头文件不要用#include<bits/stdc++.h>
如果不用万能头文件,那头文件一定要写全,缺少必要头文件就是0分,同时不要用禁止使用的头文件(如:windows.h)

常用头文件:

#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <cstdlib>

cstdio包含scanf和printf,有的编译器iostream都包含了,都写上比较好一般写代码时先都把这几个写上去。

较常用头文件:

#include <algorithm>
#include <vector>
#include <queue>
#include <string>

头文件太多时,容易忘写using namespace std;

但是用了using namespace std;之后容易产生的问题是:自己的变量名和std命名空间的变量名冲突,而且在windows下,编译器不报错。在linux下报错。所以自己的变量名不要使用time,next,pipe。如果需要这几个单词,可以用Time, Next。当然,time,next,pipe作为结构体的成员名是没问题的。

源程序示例

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <vector>
#include <map>
#include <cmath>

#include <stack>
#include <queue>
#include <string>

using namespace std;

int main() {
    freopen("data.in","r",stdin);// 从 data.in 中读取数据
    freopen("data.out","w",stdout);// 输出到 data.out 文件
    return 0;
}

二、STL:

STL主要是依靠各种容器和函数来实现各种功能,但是STL有些比较鸡肋,比如队列和栈,手写很方便,而且快一些,主要就用堆(priority_queue),字符串(string)和动态数组(vector)。

三、数组:

C++里数组出问题可能会出现莫名其妙的问题,所以一定要记得把数组开大点,并且赋初值。最好是开成全局变量,因为在main函数里定义的是局部变量,给你的空间会小一些,二维数组随便一开就爆了。
1.NOIP中爆数组是一件很糟糕的事,爆数组就0分
2.还要防止数组开小“防爆”(RE),注意看清题目数据范围,数组范围开小了会导致数组越界从而RE

四、函数

返回值类型为void,要写return ;,其他类型要写对应返回值

void func() {
    return ; // 一定要写return ;
}

主函数最后一定要写return 0;

int main() {
    return 0; // 一定要写return 0;
}

五、时间空间资源和精度:

1000毫秒内最大循环次数不要超过10^8(10^8有点悬,10^7绝对不超时)。空间限制在128MB时,数组元素类型为int时,元素个数最多千万级别(约3*10^7),要定义在到main函数外面的全局变量区(二维数组的两个维度大小要相乘)。

六、数据范围

有的题目,比如深学游戏一题,多个数相加,每个数的最大值就到了1e9,那么存放和的变量就必须是long long
有的题目,比如求最短路径的题目,边权的最大值都到了1e9,并且更新最短路径时时两个边权相加,结果就是2e9,那么我们在为dist数组元素赋值为无穷大时,应该设多少呢?我们的无穷大可以是1e9+1,或者0x3f3f3f3f=十进制1061109567, 0x7f7f7f7f=十进制2139062143,int 的范围是-2147483648 ~ 2147483647。所以以后我们程序中的无穷大就定义为1e9+1或0x3f3f3f3f

七、千万注意输出格式和大小写问题

1.每个输出结果在同一行,还是在不同行
2.输出yes no right impossible等英文提示时要求首字母大写
3.输出要求左对齐
4.浮点型数据,输出保留4位小数

八、建立图的邻接矩阵和邻接表时

注意单向边和双向边,重边,自环等情况。

骗分技巧

第一题

一般是送分的,认真读题,别太草率,多想几遍再动手,把重要的地方圈一圈、画一画,自己找几个数据多试几遍,决不能在这种题上丢分

第二题

前两道多是模拟、暴力,别想太多但也别太瞧不起前两题,把所有特殊情况想全,所有题都做完后再回来检查一遍,前两题切不可在30分钟内草草率率的做完,白白丢分

第三题

有两年是数学问题,而16年是一个较为简单的队列模拟,对于第三题,拿到后想想能不能推出一个公式来解决,切不可想我做求和那题一样,先暴力再想如何优化,到最后也只能做到80分。而像16年海港那种题就要把条件都读清楚,切不可粗心,而想出思路后就要大胆的写。当然第三题也自己多找一些不同种类的数据以免考虑不周,不能的全分。

第四题

如果超过半个小时想不出来就先写一个搜索(暴力搜索),拿到一部分分再说,当然搜索时多搞剪枝。不过做完后再想想有没有正解(可以单开一个cpp,写好后把原来的覆盖掉以免正解不正、分也骗不着)。

复赛竞赛要求

赛前

19.NOIP复赛考试前,各省统一集中参赛选手和指导教师进行选手信息核对,确认无误后由指
导教师和选手共同签字,后期不再更改。如有误,CCF可取消选手参赛资格,责任由选手和指
导教师承担。
20.NOIP复赛前,NOI各省组织单位集中召开指导教师会议及考点工作人员进行培训,强调考
场纪律等规范。

赛中

21.NOIP复赛时,各省考点必须统一使用NOI报名系统规定的准考证和准考证号。
22.NOIP复赛时,选手须同时携带个人有效身份证件、NOIP准考证入场。入座后,将个人证
件及准考证放置在桌子上,供监考核查。监考需核对选手本人、姓名、性别、学校、证件号、
照片等信息一致相符。如有不实,视为替考,NOI各省特派员可取消选手参赛资格,且从次年
算起被禁赛三年。

23.选手进入考场时,只许携带笔、橡皮等非电子文具入场。禁止携带任何电子产品或机器设
备入场,无存储功能的手表除外;手机(关机)、U盘或移动硬盘、键盘、鼠标、闹钟、计算
器、书籍、草稿纸及背包等物品必须存放在考场外。监考人员须尽职告知提醒,并在考前进行
认真详细的清理和检查。如有选手违规带入的,一经发现,监考人员必须及时处理,并根据情
节报请NOI各省特派员直至取消选手参赛资格。

24.竞赛开始15分钟后,选手不得进入考场,以缺考处理;竞赛结束30分钟前,选手不得退出
考场(上厕所除外)。

25.选手进入考场后,在竞赛正式开始前,禁止操作机器、使用鼠标键盘等设备。
26.在竞赛过程中,考点各考场统一提供草稿纸(A4打印纸)。草稿纸不足时,选手可举手向
监考示意并索要。
监考全程必须认真承担职责,不得中途离场或分散精力。
27.竞赛期间,如出现系统死机、崩溃或硬件故障的情况,选手需立即举手向监考求助;如经
监考组技术人员确认非选手责任,选手可获得加时补偿。
28.竞赛期间,如有选手相互讨论、使用网络、利用各种方式拷贝或传递信息等违反考场纪律
的,涉事选手均可被立刻取消参赛资格,并从次年算起被禁赛三年。

29.竞赛期间,选手在去洗手间前举手向监考示意,由志愿者带领前往。同时段每次只能有一
人去洗手间。

赛后

30.竞赛结束后,选手应立即停止答题、不要关闭计算机、迅速且有序地离开考场,加时选手
除外。选手离开后禁止在考场外逗留或返回考场。如有选手违反,成绩以零分记。加时选手在
宣布加时结束后应遵循相关规定迅速离场。
31.竞赛结束后,NOI各省组织单位根据要求收集选手程序,严格按照指定格式在规定的时间
提交至CCF。
32.竞赛结束后的七个工作日内,NOI各省组织单位根据要求公开参赛选手复赛程序,最晚不
能超过复赛申诉期首日。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注