一些离线赛的小细点。

因为睿智错误过多,所以在这里梳理一下。数组

1. 测内存

大概爆过2~3次。测试

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

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

bool S1;
……
bool S2;

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

2.输入输出语句(debug)

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

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

在检查输入的时候,要把输入的格式与本身的读入变量一个个对过来。内存

3.变量类型

爆long long!爆long long!!爆long long!!!string

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

4.数组越界

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

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

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

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 垫底了……

相关文章
相关标签/搜索