前言:考完 CSP-S 2024 才总结出来的各种离谱错误。本文不讨论类似于在有环图上跑拓扑排序这种错误,直接说会见祖宗的行为。
-
进入考场前检查好准考证和身份证等必要物品,笔者因为这个原因 \(2024\) 年联合省选被困在了门外。由于不是正式选手,最终被放了进去。
-
如果当前电脑运行的程序迟迟没有出结果,超过 \(5s\) 就要立即按下
Ctrl + C
中止进程,否则类似 bfs 没写pop()
的行为可以瞬间占满你电脑的内存。\(5\) 秒这个数据来历:笔者是辽宁人,CSP 等比赛常年在大连大学举办,考试的学校电脑内存为 \(8GB\),处理器为 \(7\) 代或 \(6\) 代 Intel Core i5。这个数据可是带着血的,切记!
威力:如果电脑没有自动还原或者基于虚拟机提供 Linux,那么可能心态受影响。如果带有自动还原,自求多福。
-
一份代码跑完大样例一定要及时拷到选手目录里,或者对于因为重构废弃的代码文件名字后面加上下标,比如
detect_1.cpp
,为什么是今年 CSP-S 第二题呢?因为这个原因导致了笔者 \(175 pts -> 95 pts\)。除此之外,请正确拼写文件夹及子文件的名字,比如把detect
错写为delect
。 -
自信一点,对于跑不过部分大样例的代码也要勇敢交上去,笔者出了考场才反应过来做对了 CSP-S T3 的 \(50\) 分做法,完全正确,这个时候请自行计算笔者原本期望得分是多少。
-
在考场上对于第一题千万不要想复杂了,而且注意,拼暴力后期逐步优化的性价比永远高于像打 AT,CF 一样直接追求正解。
-
千万不要在程序中出现类似于
kill
,pwd
等 Linux 或 Unix 关键字。
威力:虽然 g++ 编译器根本看不出来发生了什么,但是在 €€£的评测姬上将会直接 CE。 -
要先明白一个事情,C++ 并不是完全向下兼容 C 语言的!最典型的错误就是
abs(__int128)
,注意这个错误 g++ 编译器也是查不出来的。
比如我们打开 vim 写一个这样的东西
然后编译并且运行,你会发现完全没问题。
但是等你写上-std=<任何的一个 C++ 版本>
的时候,有趣的事情发生了。
因为 g++ 会“人性化”地判断你的代码里面是否存在 C++ 不支持但是 C 语言支持的语法,对于此类内容将会自动按照 C 语言的语法规则编译,(编译器开发者估计认为反正最后用户使用的是编译后的产物),但是你学会不吃这一套。这种语法错误即使是-Wall
也救不了你,除非加上-std=c++14
! -
为了防止 xxs 盒你的代码,可以考虑用自己的网名、姓名缩写、推的名字等作为你的代码的标识符。 -
memset
函数除非你特别有把握,千万别用,如果尝试在多测中使用,时间复杂度将会飙升到 \(O(T\)\(N\)\()\)。除非你特别有把握,否则别用! -
图论和 DP 永远是你要占大多数时间去钻研的题目,而且是几乎不会挂(挂分也惨不到哪去)的题目,因此建议考虑好开题顺序,不会的题目建议尽可能骗完分数后直接扔。大力 DP、平板电视等虽然不能给你满分,<font color="red"但是可以把你从爆零的死亡线拉回来。>
-
你学会有的时候不会按照难度正序排列题目。因此请遍历完所有题目后再考虑开题顺序,然后配合上一条使用。