错题本。
错误集锦
今天是2015年1月1日,我决定从今天开始持续更新两篇文章,一个是这篇,就是各种错误的记录。然后还有一篇一会开始写。
至于为啥写这个呢,我觉得这个挺好的,可以防止比赛时犯一些很2的错误。而且昨天做了两道题,每道都是花了很长时间找错误,结果错误原因都很2 。。。真无语了,所以我要记下来,以后不能再犯。
1,(低级) 一个区间更新线段树的题,其中COL数组(既标记更新的数组)刚开始被我设成bool类型,因为当时认为0,1就可以,结果写的过程中又用到了-1,就。。。。。。找了两个小时。。。
2,(低级) 还是区间更新的线段树的题,也是COL数组,在建树,也就是初始化的时候,只当L==R的时候我设置COL为0了,忘记其他时候,所以。。。。。。也找了两个小时。。。
3,(低级) CF的GB2014的A题,我是想判断后增加的,结果居然忘记最后再判断一次了。。。居然过了pretest,结果就FST了。。。。。。
4,(低级) 还是CF的GB2014,B题(前两个都挂了,降得很惨 T T。),我用的并查集,当设置i的父亲为j时,应该是 fa[find(i)]=j; 可是我写成了 fa[i]=j; 结果。。。你懂得。。。FST了。。。。。。
5,(低级) 对于线段树,特别是区间更新的,千万要考虑各个数组,不管是pushDown,还是pushUP,还有其他更新的时候也要考虑!!!。。。
6,(低级) 结果对1000000007取模的题,写成了 F+=a%mod 。。。这样根本没对F取模,应该写成 F=(F+a)%mod;
7,(低级) 用到引用不要忘记行参列表里的&!!!
8,(低级) 线段树,要注意是0到N-1还是1到N。。。
9,(低级) 线段树的区间合并,对左右子区间进行合并,也就是计算左边的后缀和和右边的前缀和的时候,左边要记得和M-ql+1比较,右边和qr-M比较,注意是ql和qr,不要写成L和R!!!
10,(低级) 离散化的时候,要记得去重。
11,(低级) 先初始化再输入数据。。。傻缺的我居然先输入,又初始化为0了。。。
12,(低级) 真是无语了,abs对于long long很容易被坑。。。。。。一定要注意不能用long long!!!
13,(低级) 求最短路注意平行边!!!
14,(低级) 注意 operator< 里面是比较哪一个!!!
15,(低级) 取模的时候注意负数,食物链那道带权并查集的就深刻被坑了。。。。。。
16,(低级) 数组开小了可能会TLE而不是RE!!!
17,(低级) 去掉前导0的过程要注意000!!!
18,(低级) 2^(10^18) % (10^18)使用快速幂是会超的,之间需要使用快速乘。。。。。。
19,(低级) 有时候DP并不是最后一个是答案,而是找到里面最大的。。。。。。
20,(低级) 1,1,3 这三个数的所有二对子集排列,11,11,11,13,13,33 !!!
21,(低级) 精度精度精度!!!
22,(低级) 网络流注意拆点!!!
23,(低级) 注意memset在其他函数里面时,sizeof的是指针。
24,(坑爹) 有些数据后面有空格,导致使用gets或者getchar会出错。
25,(中级) 注意-2^32这个数,他没有正数。
26,(中级) 对于点双连通和边双连通来说,边双连通可能会导致一个公用点,形成8字形;还有边不是双连通图一定点不是双连通?
27,(中级) 构造的静态二叉树不一定是完全二叉树,而且要注意左右子树越界问题。
28,(低级) 有一些模板是处理char的,改成int的时候要特别注意中间变量的类型。
29,(中级) 递归调用的时候用同一个数组记录内容,结果破坏掉了父调用的记录内容。

浙公网安备 33010602011771号