4.9 你的程式會不會太慢?(TLE)
競程的題目有時間限制(通常 1-2 秒)。如果你的程式跑得太慢、超過時限,會得到 TLE(Time Limit Exceeded)。所以在動手寫之前,最好先大概估一下:這個做法會不會太慢?
基本法則:現代電腦能在 1 秒內執行約 10^9 次簡單運算。
「簡單運算」包括加、減、比較。「複雜運算」如除法、取餘會慢一些——複雜運算多、或沒把握時,抓保守一點(例如改用 10^8 估)。
如何估計:
- 計算你的程式大約會執行多少次運算
- 除以 10^9,估出秒數的量級
- 估出來比時限小很多(例如不到十分之一)→ 放心寫;跟時限同一個量級 → 當作危險——換方法,或先實測確認