讀入優化與輸出優化

2022-03-29 15:42:54 字數 894 閱讀 8918

c++是一門神奇的學科。。。

在讀入/輸出時,我們經常用到:

scanf , cin , printf , cout

但是,在演算法競賽中,我們奉行乙個原則:

效率第一!

於是,便產生了各種各樣的奇技淫巧。。。

下面的讀入與輸出優化就是其中之一。

讀入優化:

c++自帶的 scanf 已經很快了,但是100w的資料要0.6~0.8s,很明顯,還是慢了。

為什麼?因為 scanf 帶了許多厲害但是我們不需要的的特判。

於是,讀入優化破殼而出:

inline int read()

while(c>='0'&&c<='9')

return date*w;

}

呼叫時,只需要:

int x;

x=read();

即可。效率超級高!

輸出優化:

有讀入優化,就有輸出優化:

inline void write(int x)

if(x>9)write(x/10);

putchar(x%10+'0');

}

呼叫時,只要:

int x=10;

write(x);

即可。時間大幅降低!

總結:

c++中還有各種各樣的奇技淫巧,比如什麼:

inline , register

等。好好利用它們,可以卡掉那些tle的點,甚至逆轉ac!

讀入優化 輸出優化

注意了注意了注意了,重要的事情說3遍,這個東西是騙分神器,騙分神器,騙分神器!眾所周知 scanf比cin快得多,printf比cout快得多,如果你不知道就 就現在知道了 那有沒有更快的呢?當然。請看 好吧,這就是讀入優化的效果,在資料很恐怖的情況下能比scanf多過1 5個點 比如說這種 都說了...

讀入輸出優化

1 void read int x 表示引用,也就是說x是乙個實參,在函式中改變了x的值就意味著在外面x的值也會被改變212 while s 0 s 9 是字元 一旦不是字元就意味著輸入結束了 1317 x f 改變正負 18 1 void print int x 這裡不用實參28 if x 9 只...

讀入優化和輸出優化

前兩天做牛客的題 才知道有這麼個玩意。果然還是太菜 大佬們打比賽是去切題 我是去認識新名詞。題目也很直白 說了 讀入檔案較大,請使用讀入優化,本機除錯時請使用檔案輸入輸出而且題目 也給出了優化寫法 可以直接用 非常良心 inline int read while c 0 c 9 x x 10 c 0...