【重要】考前注意事项

本文详述了参与竞赛编程考试前的准备事项,包括证件携带、文件命名规范、代码编写注意事项、输入输出处理、避免使用特定函数名以及代码检查和对拍策略。强调心态调整和时间管理的重要性,并给出了针对不同复杂度算法的时间限制建议。
摘要由CSDN通过智能技术生成

永远放在前面:最重要的

  • 检查自己的证件是否准备齐全

证件等东西一定要带,不然就无法参加考试!

在jz是 核酸检测+身份证+承诺书+准考证 。

  • 文件名永远不要写错

熟记的文件名再记一遍:

freopen("problem.in","r",stdin);
freopen("problem.out","w",stdout);

这个东西不能错,错了今年就白给了。

当你开题时,较长的文件名建议要从题面拷贝。不然会敲错。

一定在提交之前再检查一遍。

程序方面重要性极其高的

  • 大数组防爆。

当你在 256 MB 的空间,并且保证安全的情况下, int 能开 4\times 10^7bool,char 能开 2\times 10^8 ,long long 能开 2\times 10^7 。

真正考试时,尽量在空间限制的 \frac{4}{5}​ 甚至更少以内。

还有一个出自 这里 的妙招,防爆。把所有的数组空间 sizeof 一下,加起来,除以 1048576,得出它所占用的 MB 数。

  • return 0; 要写,不然会出错exit(0) 似乎没问题。

  • 函数/变量名 黑名单:

kill,delete,y1,j1,y0,j0,next,last,index等。

尽量少用动词

特别的可以加上 qwq 之类的,加上 1 之类不推荐。

部分字母(比如中间或者后面)大写应该不会出锅,简写函数名dfslcasegtreebfsspfadijkstra/dijk 没有问题。

insert 没有风险,但是建议只写 3 个字母,和 del 一样。

(惨痛教训)今年CSP-S 2020 T4挂了20就是因为void kill(int x,int y) 。

  • 记住编译,在最后(交之前5~10分钟代码不做改动时)编译一下。

  • 记得对拍,建议对拍器写成 这样 形式。

  • 不要直接判断换行符!NOI Linux和Windows环境不一样!

建议这样输入字符:

void gch(char&x)
{
    x=getchar();
    while(!isprint(x)&&x!=EOF)x=getchar();
}

这样直接把非法字符判掉了。遇到文件末尾 EOF 字符时会停止读入

  • 不要使用下划线开头的变量/函数名,__gcd __builtin_popcount ,NOI Linux 的编译器无法评测去年NOIP就有人使用 __int128 ,0分

  • 输出 printf 。输出long long使用 %lld 而不是 %I64 。

  • 万能头(bits/stdc++.h)是开放的,不用担心。不过编译可能会慢一点。

  • 程序不要下标越界,小规模的越界在windows下不会出现RE,请小心。

  • 如果中间结果较大,建议开 long long 。

  • namespace 很香。

另外附上简洁的缺省源

技巧上的:

  • 永远记得使用草稿纸

  • 看到一道题,不要死磕2h,除非你在别的题上都打完暴力了。(

  • 不要想着一定要A一道题,你很有可能只能拿到 subtask1 的暴力分。(

  • 先看题,不要着急写代码,极有可能是错的

  • 对拍一道题至少20分钟,duipai.bat 形式的可以一边看别的题一边挂着;

  • 最后 5~10 分钟不要改动代码了。小心越改越错。

  • 时间不要白消耗,一遍遍检查总好过打扫雷。

  • 心态不要被任何一道题搞崩,你极有可能只能骗到部分分

关于时空限制上的:

n 为这个算法所相关的复杂度字母。

最大的 n能承受时间复杂度算法
\le 10O(n!)/O(2^n k)暴力
\le 20O(2^n)暴力/状压DP
\le 100O(n^4)四维枚举/区间DP
\le 400O(n^3)区间DP/Floyd
\le 10^3O(n^2)n^2枚举+常数
\le 5\times 10^3O(n^2)n^2枚举(冒泡之类的)
\le 10^5O(n\log n )较大常数的 n\log n 算法
\le 10^6O(n\log n)/O(n)较小常数的 n\log n 算法/大常数O(n)
\le 10^7O(n)小常数O(n)
\le 10^9O(\sqrt n)分解质因数
\le 10^{18}O(1)/O(\log n)数学等算法

算法上的:

  •  

尾声

CSP 2021 rp++!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值