我們知道,scanff比cin快,在讀入量大的時候便可以優化時間複雜快.
快讀就是一種讀入很快的讀入方法,可以優化時間複雜度.
快讀很快,比cin與scanf都快,可以極大優化時間複雜度
1.我們知道cin和scanf不能混用,但在保留小數的時候不得不用printf,我們知道cin和printf不能混用,這時候便可以用快讀read,再用printf
2.很快…….過會兒在舉例中可以得到
int讀是很慢的,我們需要用更快的字元的讀入方法getchar進行讀入.
用字元讀入,再轉換成數字,最後輸出.
inline
int read()//如果輸入
是字元,判斷是否是負數
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();//輸入數字並統計
return s*w;//輸出結果
}
【問題描述】
劉天澤告訴陳卓他有完全記憶能力,劉天澤能把所有記憶都記得一清二楚。不過陳卓沒有相信,於是劉天澤準備好撲過去要咬陳卓的頭。陳卓為了防止年紀輕輕就頭皮壞死,只好找了一串只由小寫字母組成的序列,每次他將提問劉天澤某個小寫字母第k次出現的位置。但是陳卓自己也算不過來,只好求助於你。
【輸入】
總共1+n+m行。第一行為兩個正整數n和m,n表示序列的長度,m表示陳卓提問的次數。接下來n行,每行乙個小寫字母,分別表示序列中的n個小寫字母。接下來m行,每行乙個小寫字母c(小寫字母c後有且僅有乙個空格)和兩個正整數k,ans,表示陳卓提問小寫字母c第k次出現的位置(保證小寫字母c出現的次數不少於k),以及劉天澤的答案ans。
【輸出】
總共1行。若劉天澤的答案全對,則輸出「ak」,否則輸出劉天澤錯誤的次數。
【輸入輸出樣例1】
index.in index.out
5 2
i n
d e
x n 1 2
x 1 5 ak
【輸入輸出樣例2】
index.in index.out
5 3
y h
y a
k y 2 1
y 1 1
k 1 5 1
【資料範圍】
對於60%資料,1≤n≤1000,1≤m≤1000。
對於100%資料,1≤n≤500000,1≤m≤500000,每個字母出現次數不超過50000。
根據 資料得出:cin80,read(快讀)100,可見快讀是需要的.
技巧 快讀快寫
inline int read 輸入方式 int main template inline void read t x for x 0 isdigit ch ch getchar x x 10 ch 0 if sign x x 輸入方式 int main inline char nc inline ...
快讀快寫 模板
include include include using namespace std int read while isdigit ch return s f void write int x if x 9 write x 10 putchar x 10 0 return int main 一些問...
模板 快讀快輸lite版
我把快讀快寫裝進了乙個模板中。本模板使用fread。之所以是lite版,是因為它只整合了整型的輸入輸出與字元的輸出優化。雖經過博主大量測試,但仍可能存在bug,可以私信向博主反饋以及時修改。後期會出乙個所有型別輸入輸出優化的模板。讀入乙個字元變數c,使用io c或c io.get 會讀取換行 空格等...