最近打比赛总是犯一些没有脑子的错误。
发现不好好总结一下,可能会经常犯。
而且还有些值得注意的地方。
- 打完题目一定要打对拍
- Pascal选手千万千万注意——不要和C++选手玩时间,比暴力,不然会被爆艹一顿。
- 在调试过程中,数组开小的一定要在交题时改回来。
- 数组千万别开小。
- 文件输入输出千万不要打错。
- Pascal的setlength要尽量少用,及其的慢。
- Pascal里字符串的比较(如s='abc',t='abd',if s=t then write('YES');)这种尽量少用。
- Pascal一般见到树的大小超过200000即可打人工栈,当然,可以在递归过程中尽量不定义变量。
- Pascal打完一定要保存,按F2
- 用uses math库调试发现RE,要删掉后调试。不然一直会217
- Pascal在215有时会报201
- Pascal的硬核inline优化没有用
- 一定要用极限数据测一测程序
- 一定要开Long Long
- 一定要小心MLE
- 交题目一定要注意不能交错
- 不会做的题目一定要打暴力,不能头铁正解或是放着不管。
- 有些题目可以利用一个思想——正难则反
- 不要理解错题意!不要理解错题意!不要理解错题意!
- hash不一定要用记录数据的hash,有时双hash、三hash可能更优(看人品)
- 看到前缀可以想到后缀,看到子序列(一定要区分连续的和不连续的)可以想到kmp。
- 看到数位DP可以利用记忆化搜索的套路来做。
- 一些毒瘤图论题,看到边数、点数不大可以想想网络流
- 比赛见到计算几何千万别杠,不然会被反杠一顿。
- 数据结构的题目不打对拍必定会挂。
- 数学题——结论靠猜,证明靠拍
- 一定要特判一些特殊情况。
- 一定要将思路理清后才打。
- 要坚信数据水,想到水法就抛硬币吧。
- splay或spaly一定要记得时时刻刻update,不然不管是分数还是调试过程都会让人心态崩掉。
- spfa
它死了尽量不要用,可以用dij(虽然比较难打) - 对拍程序:(超级好用)
@echo off
:loop
rand.exe>data.in
std.exe<data.in>std.out
my.exe<data.in>my.out
fc my.out std.out
if not errorlevel 1 goto loop
pause
goto loop
- 多组数据一定记得清空
- fillchar一定要注意时间,以免跑挂。
- 肉眼查错误有时候会很优秀(可能会占用人脑资源)。