查看: 306|回复: 0

比赛避坑指南

[复制链接]

237

主题

314

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
21620
发表于 2023-5-3 10:25:45 | 显示全部楼层 |阅读模式

OI比赛经验

2021年评测系统改成最新版noilinux,经过实测,G++版本从4.8升级到了9.3, 所以请尽量使用noilinux系统,具体配置见https://www.noi.cn/gynoi/jsgz/2021-07-16/732450.shtml
比如使用gets在最新的g++编译器中会产生编译错误,如果需要读入一行字符串,可以使用string s; getline(cin, s);
发下来的东西不是给你吃的,是给AK的人吃的,饿了就吃巧克力
windows下一定要注意设置文件夹选项,显示扩展名
考试过程中D盘一般不清空, 有些省份可能是其他盘,以你具体情况而定,一般主办方会讲, 下面就以D盘为例(代表不清空的盘)
请尽量在D盘下写代码,以防止断电重启等不可抗力因素
D盘下有一个以你考号命名的考生文件夹下, 比如浙江的一般是 ZJ-xxxx, 在这个目录下, 你需要
新建三个子目录, 子目录的名字是三个题目的文件名, 这个文件名会在下发的题面PDF里面给出
在每个子目录下新建三个同名的后缀名为cpp的文件,如果是pascal选手就是pas后缀名. 这个文件就是你的源程序
在每个源程序中, 你需要加入文件操作, 下面是例子, 在离开考场前一定要反复检查目录结构, 文件夹名字, 文件名字以及是否加了文件操作


[C++] 纯文本查看 复制代码
#include <bits/stdc++.h>
using namespace std;
int main() 
{
  // 最终提交的程序一定要有下面这两行代码, 并且保存成candy.cpp, candy是具体题目的文件名, 你应该替换成考场上对应题目要求的名字, 大小写敏感(一般是小写)
  freopen("candy.in", "r", stdin); 
  freopen("candy.out", "w", stdout);
  return 0;
}


  • 不要define int long long, 可以把int的变量开在一起, long long的变量开在一起, 否则,数据量大的题很容易TLE
  • 多组数据尽量使用while (scanf("%d%d",&a,&b) == 2 ) 的形式, 此方法会确保读入的数符合你的类型定义, 即便后台数据文件末尾出错了也不至于让程序崩溃
  • 数据要读入完全, 不要中途return 0
  • 主函数确保return 0; 采用下面的框架写程序, 多余的头文件不要写, 就一个bits


[C++] 纯文本查看 复制代码
#include <bits/stdc++.h>
using namespace std;
int main() 
{
  return 0;
}


  • 考试结束前把要提交的程序测一遍所有的样例以及手造数据, 确认无误再放到相应文件夹内, 检查是否有多余调试信息
  • 改动一个程序后, 一定要将所有数据测试一遍, 确保改动不会导致更低的分.
  • 检查数组大小, 是否可能会出现RE或者MLE的情况
  • 多组数据一定要多次跑数据, 检查是否有清空
  • 测样例的时候仔细对比,字母大小写都要看清楚
  • 多组数据清空的时候不要用memset, 需要清空多少,清空多少, 要与输入同阶
  • 每个题手造6-10组小数据, 手动检测暴力程序的正确性, 避免出现0分的情况

  • 测数据的时候题目中的上下范围极限的数据要测到, 注意windows下dfs层数特别大的时候可能会本地爆栈, 不必惊慌, linux下可以采用命令行手动加栈的方法,比如ulimit -s 51200(linux用户一定要自己手动测试过)
  • 因为OI比赛无法提交, 因此写完一个程序要立刻把暴力程序打掉, 放在一边对拍, 去做下一题
  • 开场的时候思考超过5分钟一点想法都没有的题果断打暴力跳过. 等写完其他题再回来.
  • 数据范围一定要仔细看,往往有些特殊的数据范围就是题目的突破口
  • 现场赛的代码尽量结构化, 一个函数完成一件事情, 方便后期调试, 每个函数不要过长.
  • 比赛的时候发的食物尽量不要吃, 以免吃完困顿, 饿了可以吃点巧克力之类的食物
  • 参赛前一天九点就可以上床准备睡觉
  • 开敲一个题之前估计好时间, 误差不要超过5分钟, 在考前的训练中有意识的强化这一点



输入输出尽量使用 scanf printf
为了防止devcpp崩溃的现象, 你需要学会命令行操作.
比赛结束前半小时开始检查,每一个文件夹都要仔仔细细检查过去


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表