NOIP 考试注意事项
1、注意可能会需要 long long,unsigned long long,__int128
2、__int128 输出需要手写,没有像 printf 和 cout 这样的函数支持
3、避免一些变量为函数名,比如 tm,index,time,y0,y1,yn,j0,j1,jn,hash,plus,minus
4、文件读入尽量用 #include<cstdio>或 #include<stdio.h>里的 freopen 函数
5、电脑不要改字体,否则后果自负
6、运算符之间不清楚优先级就打括号
7、尽量少函数套函数,比如 addd(addd(1,2),addd(3,5))
8、输入数据如果有 10000 到 1000000 个数,建议用 scanf,如果有 1000000 个数或以上,建议用快读
9、多组数据不要写 while(scanf("%d",&n))这种的,因为 scanf 没读成功也会返回一个非 0 数
10、64M 内如果要开一维数组,最多可开 10000000,二维最多 3000,三维 200,四维 50,如果 512M,可以多开点
11、不要把循环变量放在全局中,要在局部变量,否则如果有函数,要非常小心
12、自己没刷过几道题的算法在联赛不要用
13、能剪枝的尽量剪枝
14、如果读入量比较大,建议调试时用文件读入
15、比赛结束前 10 分钟检查文件读写没写,CPP 文件是否存对位置
16、遇到区间求值很可能会是区间 dp 的题
17、十年 OI 一场空,不开高精见祖宗!!!
18、不能用万能头,不能 O2 优化(#pragma GCC optimize(2))
19、省选、NOI 可以 O2 优化
20、联赛用 Ubuntu,需要 gdb 调试,赶紧学好
21、如果递归很多次,容易爆栈,要谨慎
22、可以估计复杂度,比如 10^9 可能需要根号或 log 级别的,如果 10^18,那么 log 才行,如果就 300 或 100,可以 O(n^3),如果数很小,可以用阶乘或幂次的了
23、如果 n 很小,可能是状压 dp
24、文件过一段时间要保存一次
25、IN 和 OUT 文件要用记事本打开
26、询问次数多时可能会要用并查集
27、注意递归容易爆栈,dfs 也容易,一定注意!!!!!!!!!!
28、return 0 一定要写
29、十年 OI 一场空,不优化 dp 见祖宗
30、共同考虑时间空间编写 3 种复杂度
31、STL 很好用,像堆,平衡树就可以用 STL,最好不要手写
32、十年 OI 一场空,不写 return 0 见祖宗
33、c 大爷要用 c++编译器
评论