玄學卡常技巧總結

2021-09-26 01:25:12 字數 754 閱讀 1275

近期總是被cin和cout搞tle,一時興起找了些卡常技巧~~

文末有參考說明~

快讀:

inline

intread()

while

(c>=

'0'&&c<=

'9')

return x*f;

}

(一般不用輸出優化)

inline

void

out(

int x)

putchar

(x%10

+'0');

}

在宣告函式之前寫上inline修飾符,可以加快一下函式呼叫,但只能用於一些操作簡單的函式。涉及遞迴,大號的迴圈等很複雜的函式,編譯器會自動忽略inline。

在定義變數前寫上register修飾符,用於把變數放到cpu暫存器中,適用於一些使用頻繁的變數,如:

register

int n,m;

暫存器空間有限,如果放得變數太多,多餘變數就會被放到一般記憶體中。

++i代替i++

後置++需要儲存臨時變數以返回之前的值,在 stl 中非常慢。

事實上,int的後置++在實測中也比前置++慢0.5倍左右

bool會比int慢,貌似int最快。

最後感謝該博主的部落格~~

學習筆記 卡常技巧

卡常的全名叫做卡 常 數,顧名思義,這是一種簡單有效的優化。只可惜,它最多只能降低大約十幾毫秒的時間,但筆者作為乙個相當的蒟蒻,當然要為廣大 operatorname 獻上乙份卡常計畫書啦!c 中有乙個叫做register的東西,它可以將變數存入暫存器中。暫存器可以做到快速存入與取出,因此也能起到優...

卡常技巧(部分只在GMOJ上適用)

化學中有乙個神奇的東西,它不溶於水,不溶於鹼,不溶於酸,不溶於有機物。它水火不侵,百毒不傷,無論是在噴燈上加熱,還是接通高壓電,亦或是通入氟氣,它都毫髮無損。人們聞知而色變,它叫 雜質。資訊學中也有乙個神奇的東西,它能使o n 2 o n 2 o n2 的程式輕鬆碾壓105 10 5 105的資料,...

卡常筆記本

不是刻意搞的,只是把平時的經驗放上來。sqrt 的是我覺得比較有用的 話說沒用的好像被我刪了哈 它們之間差了4倍常數,所以慎用long long 開o 2o 2 o2 後前者略快於後者,不開o 2o 2 o2 慢到飛起,建議noipcsp乖乖手寫 2種寫法,被打了注釋的那種 常數差不多是另一種的2倍...