刷了100題左右,總結了一些用於降低程式執行時間的辦法
0.解題的思路是簡單的
解題思路想的好,對題目是降維打擊,什麼也抵不上乙個簡單解決問題的思路。
1.使用複雜度更低的演算法
對於同乙個思路可能有多種演算法,選擇時間複雜度低的演算法。這得看自己有沒有學過更好的演算法了。
2.空間換時間
雜湊表、打表,就是空間換時間的方法
3.輸入/輸出使用scanf/printf,避免cin/cout
前者要快一些,很多超時的測試點,換成scanf/printf就能通過了
4.使用復合運算子+=、-=、/=、*=
5.迴圈中巧妙運用break
6.不要寫出來死迴圈
寫出來死迴圈必超時,沒得說,如果前面實在沒招了,看看是不是寫出來死迴圈了吧!
程式執行時間 PAT
要獲得乙個c語言程式的執行時間,常用的方法是呼叫標頭檔案time.h,其中提供了clock 函式,可以捕捉從程式開始執行到clock 被呼叫時所耗費的時間。這個時間單位是clock tick,即 時鐘打點 同時還有乙個常數clk tck,給出了機器時鐘每秒所走的時鐘打點數。於是為了獲得乙個函式f的執...
PAT 程式執行時間 C語言
要獲得乙個 c 語言程式的執行時間,常用的方法是呼叫標頭檔案 time.h,其中提供了 clock 函式,可以捕捉從程式開始執行到 clock 被呼叫時所耗費的時間。這個時間單位是 clock tick,即 時鐘打點 同時還有乙個常數 clk tck,給出了機器時鐘每秒所走的時鐘打點數。於是為了獲得...
PAT練習 程式執行時間
要獲得乙個c語言程式的執行時間,常用的方法是呼叫標頭檔案time.h,其中提供了clock 函式,可以捕捉從程式開始執行到clock 被呼叫時所 耗費的時間。這個時間單位是clock tick,即 時鐘打點 同時還有乙個常數clk tck,給出了機器時鐘每秒所走的時鐘打點數。於是為了獲 得乙個函式f...