加速輸入輸出
我們寫程式如果用一般的輸入輸出,常常會遇到一個問題,就是TLE,所以要加速。
最一般的就是這個 :std::cin.tie(0), std::cout.tie(0), std::ios::sync_with_stdio(0);
這是將<iostream>跟<stdio.h>這個標頭檔解綁,使其達到加速的效果。
和這個 :
int main(int argv, char** argc) + return 0;
這只有稍微加速而已。
還有這個 :
scanf("%...", &x), printf("%...", x);
這個是直接使用c的函數達到加速的效果,不過當你使用<iostream>加上這個的時候
std::cin.tie(0), std::cout.tie(0), ios::std::sync_with_stdio(0);
scanf("%...", &x), printf("%...", x);就不能用了,因為解綁了。
再來就是可以加速又可以減記憶體的方法,因為只有這三個有些題目過不了。
getchar, putchar----->unlocked
這個可以加速非常多,通常只要用這個,大部分的題目都可以過。
fread, fwrite----->unlocked
但是ZJ不能用fwrite,所以在裡面最快的輸入輸出,就是這兩個。
fread_unlocked, putchar_unlocked
在ZJ中所有只需I/O優化的題目,用這兩個一定過。
這是讀取字串和數字的方法 :

而這是輸出的方法 :
19
介紹到這邊,如果你喜歡,請按個訂閱,然後訂閱我的youtube頻道。
掰~~~~~
