1. 程式人生 > >總結各類錯誤(always online)

總結各類錯誤(always online)

  1. 一定要好好看資料範圍,接近int型別上限,如果要求和,一定要開long long並且改大你的inf值(TAT暴力分流失)
  2. 提交之前,好好看看你的輸出,有沒有少或者多,並且檢查格式錯誤。
  3. 對於後面的點,如果要混分的話,一定要注意陣列的大小!!!(NOI2017同步賽和8.4的都少了10分QAQ)(NOI2018同步賽又少了 20 分,以後不要慫空間直接大力開陣列就行啦)
  4. \(Floyd\)的迴圈一定要記得 \(*k\) 一定要在最外層!!!
  5. 一定要認真讀題,看看是要輸出第一個還是要輸出幾個答案!!!
  6. 一定要多測幾組資料,而且要反常規的資料!
  7. 一定要刪掉除錯資訊,最後10分鐘編譯一下,測下樣例!
  8. 拓撲排序一定要從入度為0的點進去!Tarjan縮點(強連通分量)一定是有向圖!!
  9. 有時候實在想不到\(dp\)就去做貪心算了!
  10. 費用流建反向弧的時候一定要記住,費用為相反數,流量為0!
  11. \(Splay\)查詢第\(k\)大的時候,一定要記得先減,在向下走,不然會減下面的!!!
  12. \(Splay\)查詢第\(k\)大的時候,一定要記得先下放標籤啊!!!各種沒有先\(Splay\)的東西,都要\(push \ down\)啊!!!
  13. \(Treap\)刪除的時候,遞迴下去,走的應該是 ch[u][d^1] ,自己被旋到另外一個地方了!!(很容易錯!)而且刪除的時候,找到一樣的值就return
  14. \(FFT\)蝴蝶變換那裡,奇數項 \(\times x\)!!!
  15. 莫隊帶修的時候,一定要注意之前的Old
    狀態!!!
  16. LCT中的rotate判斷!is_root(u)之前一定不能連線u-v的邊,不然會判錯,而且不是判!is_root(t)!!!
  17. 線段樹一定要記得 push_downpush_up !!!
  18. 線段樹中的 query 中的 res 注意看要不要開 long long !!!
  19. 檢查陣列有沒有越界的話一定不能開 \(O2\) 測一遍 開 \(O2\) 陣列越界不會顯示 \(RE\) 會顯示 \(WA\) 開不開 \(O2\) 都試一遍!!!!
  20. LCT 更改單點值時候 一定要記得把它放在根上 不然答案會錯!!!!
  21. 關於概率中 , \(1 - p[i]\) 這個概率計算時候 不要寫成 \(Mod - p[i]\)
    !!!
  22. 捆綁測試之類的題需要注意小資料情況!!!例如 \(n=1,2,3\) !!!
  23. 仔細思考所有可能爆 long long or int 的地方!!(NOI2018 同步賽又丟了 \(15pts\)要算下所有中間結果大小!!!
  24. 函式傳變數一定要傳完,有時候在函式定義那預處理初值不是好習慣啊!!
  25. 強制線上的題一定要注意 \(ans\) 是否賦值!!!
  26. \(calm down\) 記得算空間和檢查陣列和變數越界以及多組資料!!!(次次模擬賽掛分)
  27. 多組資料記得清除前後綴和!!!!