1. 程式人生 > >【總結】經驗與教訓

【總結】經驗與教訓

程式碼查錯

  1. 認真讀題,比如題目的資料範圍。
  2. 觀察每個變數名是否有誤,每個型別是否有誤,每個運算子是否有誤(<,>,=,+=),規定的輸出格式是否有誤。
  3. 考慮邊界情況,0,1,-1,上限,下限。
  4. 與序列有關的題目要分清楚變量表示的是值還是下標。
  5. 考慮演算法是否有誤。
  6. 更改寫法,選擇更不易錯的方法去寫題。
  7. 推導排列的問題,注意如果已經推匯出了n-1項,那麼最後一項也就出來了。
  8. 常量陣列是否有誤
  9. 運算是否爆範圍.
  10. 輸出方案提前判斷是否有解.

思路引導

  1. 認真讀題
  2. 當輸入資料範圍很大但有除法關係時,可以考慮分類。
    如輸入n,m<=1e9,可以列舉1<=n<=1e5,剩餘的列舉 m/n.
  3. 輸入資料與輸入順序無關時,直接排序,不管為什麼。
  4. 遇事不決寫暴力,尤其是數學題。
  5. 把問題要求的算式列出來,然後用數學的方式去推導,會比空想有效很多。
  6. 和區間求和有關的東西,上字首和,推導算式,差分同理。
  7. 二分性質。
  8. 反向求解。
  9. 觀察結果的統一性,通過列舉結果將狀態數縮小(旋轉游戲)。

編碼建議

  1. 模擬題在上手之前提前想好資料結構與演算法流程。
  2. 當呼叫元素本身太麻煩(耗時久,不好表示,多維數字)時,建立索引。
  3. 先寫出能用的程式,思路會在寫的過程中不斷清晰,記住提前優化是萬惡之源。