序:
相信很多oier在讀取大量資料的時候普遍採取讀入優化的方式讀入(**如下,基本類似):
inline
void read()//無符號型
//return input;
return ;
}
通過其他部落格我們發現比這樣更快的是fread,可惜不會用…
經過尋找,在知乎上找到了比讀入優化更快的方法。
測試表明比讀入優化快10%。
**如下:
char buffer[maxn],*s,*t;
inline
char get_char()
return *s++;
}int get_int()
對比讀入優化讀入一千萬個的無符號型int型整數(迴圈10次)。
結果如下:
5.778000 0.577800(傳統)
5.078000 0.507800(新)
如何看待在oi/acm賽事廣為使用的快速讀入整數?
自此整理結束。
箜瑟_qi 2017.04.15 17:21
比「讀入優化」更優的讀入方式
序 相信很多oier在讀取大量資料的時候普遍採取讀入優化的方式讀入 如下,基本類似 inline void read 無符號型 return input return 通過其他部落格我們發現比這樣更快的是fread,可惜不會用 經過尋找,在知乎上找到了比讀入優化更快的方法。測試表明比讀入優化快10 ...
真的讀入優化與假的讀入優化
一直以來,我都是這樣寫讀入優化的。inline char nc inline void read int x 然後有道題死活過不去,把讀入優化改成scanf就過了。這才發現,我一直都寫的是假的!讀入優化!真正的讀入優化要這樣寫!inline char nc inline void read int ...
讀入讀出優化
有些題目追求高效能 比如說 nlogn 這個時候根據情況使用線段樹 樹狀陣列 記憶化搜尋或者搜尋剪枝很重要,但是不要忘記快讀 一般來說scanf和printf的速度已經很令人滿意了,雖說比不上pascal裡面的read 在讀入大量資料的時,比如10 7個int型的整數,scanf也顯得力不從心 快讀...