讀入優化新姿勢——學習筆記
震驚!99.9%的oier都不知道。用了此方法,暴力立馬變標算!
最近學習了一個新的函式fread,可以從檔案中整塊讀入資訊,速度很快。基於這個函式,我們可以寫一個新的getchar():
inline char gc(){
static char buf[100000],*p1=buf,*p2=buf;
return p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++;
}
fread的4個引數分別表示從哪裡開始存,一個量是幾字節(char就是1),想要讀入幾個,輸入檔案。執行完後會返回成功讀入了幾個。
buf陣列就是記一下讀入的資訊。p1p2分別指向當前buf中的頭和尾。如果p1==p2說明需要再fread一整塊。
用它來寫讀優效果很好,輸入流很大的時候比用getchar()讀優快大概2倍多。
那種標算複雜度比較緊的,寫個玄學暴力加讀優可能就AC了。
不過要千萬注意這個不能與scanf混用。第一次調gc()之前才能用scanf。
相關推薦
讀入優化新姿勢——學習筆記
震驚!99.9%的oier都不知道。用了此方法,暴力立馬變標算! 最近學習了一個新的函式fread,可以從檔案中整塊讀入資訊,速度很快。基於這個函式,我們可以寫一個新的getchar(): inline char gc(){ static cha
讀入優化~~~(個人學習筆記)
false == 學習 學習筆記 筆記 scanf ios sca tchar 基本模板:inline int read(){ int x=0,w=1; char ch=0; while(ch<‘0‘ || ch>‘9‘){if(ch==‘-‘)w=-1;ch=
讀入優化
long har blog () div 需要 logs log class 只能讀入數字,不過這個比scanf快很多,並且對於 long long 類型用I64d,還是用 lld 完全忽略,不需要靠考慮在windows,或Linux系統的差別,主要是快啊!!! 1
java 新特性學習筆記
sets arp string get pen option ring true read java 1.7 Files.write(path,list,StandardCharsets.UTF_8,StandardOpenOption.APPEND); St
【墻裂推薦】讀入優化和輸出優化
return getchar() ret style getchar 決定 推薦 int div 讀入優化: 1 inline int read() 2 { 3 int X=0,w=1; char ch=0; 4 while(ch<‘0‘ || ch
關於讀入優化的最終分析
緩存 文件映射 ice 開始 int 字符 1.4.1 clas man 關於讀入優化的最終分析 摘要 身為一只以卡常為生的蒟蒻,總想著通過一些奇技淫巧來掩飾優化常數。 於是本文章就非正式地從最初的開始到最終的終止來談談在OI種各種主流、非主流讀入的速度以及利弊。 序言 隨
讀入優化 && 輸出優化
找到 getch oid 優化 include write tex utc getc qwq算是一個板子隨筆吧 快讀我在某大佬的博客中找到了更短的代碼 但是這個寫習慣了就改不了了qwq 其實是我不想改 廢話好多 直接貼代碼 1 //讀入優化 2 inline int
ACM:讀入優化
can net double \n void sig color || tmp 兩個簡單的讀入優化 1 int getin(){ 2 int ans=0;char tmp;bool sign=0; 3 while(!isdigit(tmp=getc
ES6常用的新語法學習筆記
簡介 ES6是 JavaScript 語言的下一代標準,已經在 2015 年 6 月正式釋出了。它的目標,是使得 JavaScript 語言可以用來編寫複雜的大型應用程式,成為企業級開發語言。 1.let和const let let和var 差不多,都是用來宣告變數,但是let的宣告
《凸優化》7 學習筆記
學習了一下中科大 凌青 老師的凸優化視訊.做一點筆記. 例:線性矩陣不等式LMI. A(X)=∑i=1kXiAi⪯B, A ( X
優化程式碼原則--學習筆記
一、單一職責原則 總結來說,一個類中應該是一組相關性秀高的函式 、資料的封裝。也就是說,這一個類,應該僅有一個引起它變化的原因。 以我剛剛寫出的傳送郵件的一個demo為例 private Thread thread = new Thread() { @Override
讀入優化&&輸出優化
#include<cstdio> int isdigit[300]; void read(int &x) { int f = 1; x = 0; char s = getchar(); while(!isdigit[s]) {if(x
C++11新特性學習筆記—使用花括號就地初始化
這個特性是真正極好的!非常好用且方便!降低工作量! 如果一個類有很多成員變數A,B,C,D...,而且有很多不同版本的建構函式c1,c2,c3....,每個不同的建構函式可能會選擇不同的成員
dp凸優化/wps二分學習筆記(洛谷4383 [八省聯考2018]林克卡特樹lct)
qwq 安利一個凸優化講的比較好的部落格 https://www.cnblogs.com/Gloid/p/9433783.html 但是他的暴力部分略微有點問題 qwq 我還是詳細的講一下這個題+這個知識點吧。 還是先從題目入手。 首先我們分析題目。 因為題目要刪除
【原創】整數讀入優化 C++
一、背景 這是某道題目的狀態: 我的程式碼: 大牛的程式碼: 我瞬間萌幣了! 我有這麼慢?Are you kidding me? 點進去一看: void Read(int & p)
更快的讀入優化fread
原來的讀優是這樣寫的: int _read(){ int sum=0;char ch=getchar(); while(!(ch>='0'&&ch<='9'))ch=getchar(); while(
吳恩達deeplearning.ai課程《改善深層神經網路:超引數除錯、正則化以及優化》____學習筆記(第一週)
____tz_zs學習筆記第一週 深度學習的實用層面(Practical aspects of Deep Learning)我們將學習如何有效運作神經網路(超引數調優、如何構建資料以及如何確保優化演算法快速執行)設定ML應用(Setting up your ML applic
C++11新特性學習筆記—final和override關鍵字
一、final關鍵字 為什麼c++現在才提供final這個關鍵字?很奇怪。 和Java一樣,c++中的final關鍵字是用來修飾一個函式,防止這個
[線段樹][讀入優化][玄學加速]借教室 noip
借教室 首先,這是一道水題,線段樹直接敲起 但是!!!!!! 如果,你只是簡單地敲了一份線段樹,你會發現,你會卡兩個至少兩個點!!! 因為讀入會被卡! 於是,你可以使用getchar()來進行玄學加速……
c++讀入優化模板
int getint() { char ch=getchar(); while (ch<'0' || ch>'9') ch=getchar(); int res=0;