考场 zz 错误集合-暨-考场注意事项
文件类
freopen
的正确写法freopen("xxx.(in/out)","r/w",std(in/out))
拒绝
,
->.
,in
配w
最好不要一场考试复制粘贴
freopen
,否则一旦有错,后果不堪设想......
- 文件名看清楚再复制
拒绝英文题目直接复制全名而忽视真的文件名
- 复制完检查一下有没有空格
题目限制类
- 空间限制一定要注意,可开
int
大小计算公式:x mb=(x*1024*1024/4) int
案例:数据备份,
60 pts
,没注意空间,没开滚动数组,MLE
->0 pts
- 为了防止造成不必要的常数,能手写的 STL 就手写吧,谁知道会不会被卡常呢
程序类
- 取余类的题有些东西应该取余,有些慎重,
最好不要在快读里写取余
案例:多米诺骨牌 正解,快读加取余,把 \(n\) 也取余了,硬是把 \(100\) 搞成 \(55\),还调了好久的错......
-
线段树的
mid
要么新定义变量,最好不要#define
如果要也一定记得加括号!!!像这样:#define mid ((l+r)>>1)
-
线段树的递归调用时,不要把
l
打成1
!!!
案例:永无乡 正解,
l
打成1
,\(100\) 变成 \(0\) ,RE+WA+TLE
......
- 不要再用
inline
了!就算用了也不要忘记在那玩意儿后面加数据类型!
案例:某次考试写了个
inline read()
,因为这个正解直接CE
成0pts
。
考场策略
-
对于那种细节稍多的分类讨论题最好多造几组数据模拟一下,不要因为时间不够就跳过这一步,不然很容易挂。
-
对于贪心题不要太着急,想到一个认为非常正确的结论还是要尽量证明一下,很可能会有特殊数据可以卡。
-
在正解没调出来,后来改成暴力的时候不要被正解的思路限制住了,这样可能会导致暴力的复杂度偏高,甚至拿不满暴力分(万一数据就水到极致了呢)。
算法相关
- 异或相关 -> 01trie ,线性基
持续更新......