總結各種錯誤(always online)

最近發現打暴力(還有夢想中的正解)都會打錯,決定好好總結一下各類坑比錯誤QAQ數組

  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. 多組數據記得清除先後綴和!!!!
相關文章
相關標籤/搜索