一些编码时的老错误

编译时:

1.定义结构体时没加分号。

2.指针取地址没加 &;

 

Runtime Error:

1.scanf 没加 &;

2.环断成链或者前向星存无向边的时候数组开的太小;

 

Wrong Answer:

1.  1左移30位以上 没强制转换成 long long;

2.  if ()里 用 &,^, | 没考虑优先级,比如 if (2&3 ==1),应该写成if((2&3)==1) ;

3.  spfa while循环中 条件写成 f<r ,应该是f!=r;

4. 输入输出没用long long,用scanf 和 printf 容易写成 %d;

5. 动态规划数组的初始化 应该根据需要 是0或者-inf或者inf。

6. bool类型的函数忘记return。

7. 万精度输出补0的时候注意那一位本身就是0的情况,统计位数的时候是1,而不是0.

8. 写线段树的时候考虑下面几种情况:

   A.一条线段被完全覆盖后 再次覆盖它的子线段。

   B.访问部分子线段被覆盖过的线段。

   C.tag只有不为0的时候才下传。

 D.插入线段的顺序可能会影响结果。(poj 3277)

9.文件名不要有空格!!!

你可能感兴趣的:(编码)