易錯點


務虛

  • 注意觀察題目中的性質,每一條性質都不是沒用的,都可能是問題的突破口qd

  • 長的閱讀理解題,一定要耐着性子讀完,提取主干,也不要忽略細節qd

  • 一定要記得靜態查錯!!有的時候花費數小時調的錯誤,很可能幾分鍾的靜態查錯就能解決qd

WA

  • 取模優化/int取模 1ll*a+b,no 括號 qd

  • memset 不能亂用,如果你的 sizeof 寫錯了, 可能會爆出隨機數 qd

  • 記得把 INF 設到足夠大qd

  • 記得 時刻取模 ,有減法時記得先 +mod%mod , 如果有必要需要讀入后 立即取模qd

  • 不要 盲目取模 ,尤其是計算 過程中 胡亂取模會 影響正確性 ,算完后最后 結果可以取模qd

  • 注意 模數性質 ,是否為質數,數清楚有多少位,不要想當然qd

  • 需要取模的快速冪 中,如果最后的 結果為0 記得加上一個 mod ,否則會出錯qd

  • 快速冪 中, 傳參數記得類型long long 否則可能會 long long qd

  • 重載運算符 時要注意,this.a<t.a 才是從小到大 qd

  • imageqd

  • 指數不能直接取模!qd

  • 快讀時記得處理負數qd

  • 樹剖時記得分清楚第\(i\)原數權值(w),和dfn順序的權值nwqd

  • 線段樹updatepushuppushdown時,不能僅更新sum,應該更新全部信息,如minmaxqd

  • splay 的標記下傳過程中,一定要先判斷左右兒子是否存在,再對其翻轉標記異或 \(1\)qd

  • Floyd算法枚舉順序: k,i,jqd

  • 左移右移優先級\(+\)\(-\)&&|| 的優先級qd

  • 左右移位默認的類型是 int , 記得轉換成 long long 再計算qd

  • \(1\) 默認類型int , 運算時記得轉換1.01llqd

  • 矩陣快速冪res 矩陣記得初始化, 使對角線為 \(1\)qd

  • 移位的時候記得注意數據范圍,不要 -1>>1qd

  • 輸出 float double 時最好用 printf("%f");,而不是 long doubleprintf("%lf");qd

RE

  • 開桶小心訪問負下標!!qd

  • 線段樹開4倍空間qd

  • 線段樹pushdown時記得特判是否為葉子qd

  • DFS是樹根的父親盡量不要設成\(-1\),因為fa[root]可能會在LCA中用到導致REqd

  • 樹狀數組記得特判0的情況qd

  • 分塊時,最后塊后面還要加一個右端點為n+1的塊qd

  • n,m的范圍不代表數據范圍qd

  • ios::sync_with_stdio(false)不要用scanfqd

  • 多組數據重新建邊的時候記得清空 \(idx\)qd

  • 更改了 \(\rm set\) 中元素后,小心迭代器 REqd

  • \(\rm set\) 小心邊界,判 s.begin()s.end()qd

  • qd

TLE

  • 不要隨便用SPFA,看清題目要求,是否有負邊權,是否是雙向邊,是否稠密或稀疏等qd

  • 存圖時記得初始化memset(h,-1,sizeof(h))qd

  • 沒事別用unordered_map,穩定 \({\rm O}(n)\) 警告qd

  • 矩陣乘法循環順序: i,k,j或者k,i,jqd

  • dfs 中的各種奇怪錯誤可能是由某個你不希望在下次搜索被更改的量, 被改動了, 因此一定要注意自己變量的作用域qd

  • 刪除的時候要考慮鏈表優化,跳過沒用的(已經刪除的)!qd

  • \(\rm SPFA\) 判斷負環的時候只需要判當前路徑長度是否大於 \(n\)qd

CE

  • 命名時避開x1,y1,x2,y2這些系統關鍵字qd

  • 切忌用 int a[10000000]={0}; 初始化大數組,否則會因為編譯文件過大暴死qd

UB

  • int類型的函數無返回值qd

  • 訪問負下標qd

  • 編譯選項開-Wall有助於避免UBqd

  • -fsanitize=address, -fsanitize=signed-integer-overflow這些選項對 UBRE 的排查都有幫助qd

高效做題

  • 在遇到和逆元有關的題目時(比如求概率或期望),可以寫一份轉成double的副本,可以提高調試效率qd

  • 寫了init就要初始化,別忘了用qd

  • 模數\(0\)或者除數\(0\)都可能導致REqd


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM