> OI赛制:全程无实时评测得分,考完统一测评,按测试点给部分分;CSP-J时长3.5小时,CSP-S时长4小时,共4题,每题100分,总分400。

一、进场第一件事:建立文件夹

>

> 目录三层结构:准考证号(主文件夹)→ 题目英文名子文件夹 → 题目名.cpp

1. 在桌面创建主文件夹,命名为自己准考证号(以监考要求为准)

2. 进入主文件夹,新建4个子文件夹,名字严格使用题目给的英文名称,大小写完全和题面保持一致

3. 系统设置:打开【文件扩展名显示】,防止出现 xxx.cpp.cpp 双重后缀致命错误

准考证号(主文件夹)

├─ problem1

│ └─ problem1.cpp

├─ problem2

│ └─ problem2.cpp

├─ problem3

│ └─ problem3.cpp

└─ problem4

└─ problem4.cpp

>

> 核心规则:子文件夹名、cpp文件名、freopen里的xxx.in / xxx.out三者名称完全一致。

二、单题标准做题流程

1. 读题:仔细阅读PDF题面,看清输入输出文件名、时间/内存限制。不要急于写代码,多想5分钟,减少调试时间。

2. 新建代码文件

在对应题目的子文件夹内新建题目名.cpp。

写基础代码框架,先注释freopen两行,方便控制台调试:

cpp

#include<bits/stdc++.h>

using namespace std;

// freopen("problem1.in","r",stdin);

// freopen("problem1.out","w",stdout);

int main(){

return 0;

}

>

> 注意:不用万能头的代码,需要额外加#include <cstdio>才能使用freopen。

3. 编写逻辑 + 控制台测试

写完代码,保持freopen注释状态,直接编译运行。

测试样例,同时手动测试边界数据:极小值(0,1,-1)、极大上限值、特殊情况。不只测样例!

4. 文件IO测试

  • 在当前子文件夹新建题目名.in,粘贴样例输入
  • 取消freopen两行的注释
  • 重新运行代码,自动生成题目名.out,核对输出结果

5. 清理文件

确认输出正确后,删除文件夹内除.cpp以外所有文件(.in、.out、.exe全部删掉),只保留源码。

6. 频繁Ctrl+S保存!防止电脑异常丢代码。

三、防爆零

✅ 文件读写 freopen

1. 必须放在main函数最开头;"r"读入,"w"写出,固定stdin、stdout

2. 文件名复制题面名称,严格区分大小写,不要手动手打写错

3. 提交前务必检查:不能是注释状态!很多选手调试注释后忘记取消,直接0分

✅ 代码编译与语法坑

1. main必须是int main(),末尾必须写return 0;;

如果使用#define int long long,主函数写成signed main()

2. 头文件:万能头<bits/stdc++.h> + using namespace std;,避免编译错误

3. 变量命名避坑:不要使用next、y1、y0、max、min、pow、index、map等冲突名字

4. 局部变量一定要初始化;全局变量系统自动清零。

5. 调试用的输出语句、打印log,全部删除或注释,残留调试输出会直接WA。

✅ 数据范围、内存、时间限制

1. 不开long long见祖宗! 存在乘法、大数计算时,及时使用long long;位运算1<<x,大数要用1ll << x防止溢出

2. 时间估算:1秒循环尽量控制在2千万次以内,1亿次大概率超时

3. 数组:全局数组优先;不要在函数内部开超大数组。数组上限尽量不超过1e7,超了考虑vector

4. 运算符优先级坑:二分(l+r)/2、位运算a+b^c,复杂表达式记得加括号。

✅ 输出格式

1. 换行、空格严格和样例一致;多组数据不要忘记每次输出换行

2. 输出文字、大小写原样复制样例,不要自己手写修改

3. ios::sync_with_stdio(0);开启cin加速后,不能混用cin和scanf

四、时间策略

1. 优先级:T1、T2简单题必须拿满,T3、T4优先拿部分分,不要死磕难题。难题做不出来很正常,简单题翻车才是重大损失。

2. 不要在一道题上卡死,遇到卡壳,先标记跳过,回头再处理。

3. 心态提示:你不会做的题目,其他人大概率也不会;比赛优先抢分,不要追求每题满分。

五、全场收尾检查

1. 打开主文件夹,逐个检查4个子文件夹:每个文件夹仅保留1个cpp源码,其余文件全部清理。

2. 逐个打开四份cpp,逐项核对:

  • freopen两行没有注释、文件名与题目完全匹配
  • return 0;存在
  • 删掉了所有调试输出语句
  • 数组大小、long long、边界特判检查一遍

3. 确认无误后,按监考要求打包提交整个主文件夹。>

> ⚠️致命风险:不要最后一刻用错误代码覆盖已经AC的正确代码;不要忘记保存最终版本代码。

> 遇到电脑故障、闪退,立刻举手报告监考老师,不要自行操作。