错题本。

错误集锦

  今天是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,(中级) 递归调用的时候用同一个数组记录内容,结果破坏掉了父调用的记录内容。

posted @ 2015-01-01 21:08  WhyWhy。  阅读(161)  评论(0)    收藏  举报