1. 程式人生 > 其它 >那些年犯下的SB錯誤

那些年犯下的SB錯誤

那些年犯過的SB錯誤

1:多組資料忘記清空陣列

2:清空時memset TLE

只要用 \(sizeof(int) * (n + 1)\) ,

用多少清多少就好啦.

3:求最值忘記初始化

最大值要初始化到 \(-inf\) ,(避免負數

最小值要初始化的 \(inf\) .

4:位運算不會強轉

\(1 << 40ll\) 仍然是int,

不會轉成ll,

要用 \(1ll << 40\) .

5:寫錯模數

不要看到 \(1e9 + x\) 就寫 \(1e9 + 7\) ,

萬一是 \(1e9 + 9\) 呢?

6:寫錯下標

例如第 \(i\) 個操作要修改的下標是 \(num[i]\)

,

不要把下標寫成 \(i\) ,

要寫 \(num[i]\) .

7:新建指標時千萬不能連等

ls = new node, rs = new node;

不能寫成

ls = rs = new node;

否則會給 \(ls\)\(rs\) 賦成相同的地址.

8:忘記初始化下標

在多次更新答案的時候,

如果答案需要輸出方案,

且每次都是下標從 \(0\) 開始的方案,

記得把下標變數重置為 \(0\) .

9:計數時漏掉最後的一段

如果是在出現非法情況時統計合法數量,

則需要在迴圈外特判一下最後的一段,

防止最後出現連續的一段合法.

10:忘記取模

有時候要預處理階乘之類的東西,

這個也是要取模的.

看不見我看不見我看不見我