关于那些犯过的且将来不能再犯的错
特开此博文:
1、数组开小
2、没开long long(隐式转换那里)
3、没有每一步都取mod
4、引用的是下标而不是数组+下标(主席树那里错过两次啊)
5、全局变量和局部变量搞混(*maxlonglong)
6、bfs的判重要每一次转移一个状态就要设置好啊QAQ
7、double转整数一定要注意是否超int范围。。。
8、dfs找环以为不需要判特判节点是否访问过。。。最终爆栈。。。
9、缩点建图没有考虑重边
10、局部变量自以为不会修改放到全局变量。
11、修改数组用自己修改自己没考虑后效性。(noip2014 road爆成20)
12、有pushdown的操作一定要放在每一个查询操作中的最前面(后来证实可以不必,处理好标记下放的顺序即可
13、multiset中的erase是删除所有值相等的元素...所以erase要这样erase(a.find(x)); //wa了好多发啊。。。。。。。。。。。。
14、凸包只比较了x轴没有比较y轴。。好多题都这样水过了QAQ
15、vector没有特判size==0就调用...导致re...
16、当输出的浮点数类型可能在0附近时...一定要加上eps...........
17、分块的时候划分块与自己想象的下标不一致- -...就是有一次我划分块pos[i]=i/sqrt+1,而调用直接认为是[1,sq]是一个块QAQ,于是喜闻乐见了...如果要[1, sq]的话,块要是这样pos[i]=(i-1)/sqrt+1....
18、hash后没有引用实际值...............直接引用hash的下标去了..........
19、fft在做整数时,一定要四舍五入!!!
20、整数除法与实数除法没有转换= =int i, j; p=i/j;的梗= =
21、发现尽管这样int a, b; long long c=a*b;还是会爆= =这隐式转换竟然不转换成long long!妈呀..
22、bit维护一段区间和的时候,查询一定要注意是整个前缀和而不是某段
22、