一些离线赛的小细点。

由于睿智错误过多,因此在这里梳理一下。

1. 测内存

大概爆过2~3次。

可以在每次打代码的板子里面,直接加个这样一段代码

#define CM cerr<<(&S2-&S1)<</1024./1024.<<"MB<<endl

bool S1;
……
bool S2;

int main(){
	CM;
	……
	return 0;
}

2.输入输出语句(debug)

这类错误也犯过不只2次了。

可以在检查的时候,使用Ctrl+Shift+f,把scanf,printf,cout,cerr这些语句直接找出来,一个个看过去。

在检查输入的时候,要把输入的格式与自己的读入变量一个个对过来。

3.变量类型

爆long long!爆long long!!爆long long!!!

每次结束的时候把变量名一个个看过来,重新计算一下会不会爆限制。

4.数组越界

这也是经常犯的问题,前几天刚出过这类问题……

要注意在开的数组里面,检查一下会不会调用数组的时候,调用到后面的内存去了,或者多维的时候打错维了

最好还要测试一下极限数据,这样对检查很有帮助。

5.多case

多case一定要注意清零!死了多少次不知道了……

6.取模

不要手打模数(在能复制的前提下),最好是复制题目所给定的模数。

7.正确性

最好是把样例统统对一遍。这样比较保险。

还有就是能对拍就对拍,别嫌麻烦(除非那种没有意义的,比如答案大部分时间为0什么的)

8.切分相关

既然你切分都打下来了,并且已经知道他是对的了,就别忘记去掉对拍时加上的注释!

最好是打一个list,把要检查的项目写下来,检查过程中一个个对过去。


睿智错误/不该错的点:

2019.10.29

  1. (string)的前面加字符是(O(n))的!
  2. 在删掉debug的注释的时候别把多余的东西删掉

2019.11.03

  1. 在切分随机数据的时候,千万不要把别的切分也切进去!!!

2019.11.10

  1. 正常考试的策略。T1卡住了就不要死刚,一时半会想不出来是可能的。不要慌,要先冷静下来,把后面的暴力分打满了再回来想正解。
  2. 暴力分能拿到的一定要尽力拿到。考试总时间就那么短,一般是不能直接快速想出正解的(除非太水了),而此时一些暴力分可以帮我们一步步挖掘题目的性质,说不定暴力分打着打着就出来正解了。再说,就单单打满暴力分也能上(200)分。
  3. 切下来的分要保证其正确。不要打了好久,死YY出了一档的切分,然后考试后发现打错了/思想是错的,这样就会浪费大把时间。

但愿这次(30+30+0)能给自己一个深刻的教训。

2019.11.11

  1. 又!没!把!切!分!切!到!
  2. 最后考还是15分钟不要去肝切分了!还不如去检查!

线段树Down操作-1写成+1 丢 15分

T2 容斥 取模不规范 丢 20分

又只考了 100 + 20 + 55 = 175 垫底了……

原文地址:https://www.cnblogs.com/ppp204-is-a-VC/p/11758489.html