在這裡給大家介紹一下快讀快輸,自己也存個檔。。。。。。
inline void read(int &x)
while(s>='0'&&s<='9')
x*=f;//正數不改變符號(x*1),負數就改變(x*-1)
}//此之謂快讀
這裡的inline可以節省函式呼叫的時間,但建議遞迴是不要用,有可能會爆inline void pr(int x)
if(x>9)//因為putchar一次只能輸出一位,而且要從前往後輸出,所以要用遞迴輸出
pr(x/10);//遞迴輸出
putchar(x%10+48);//作為字元輸出
}//此之謂快輸
還有乙個更快的
總的再來乙個可以copy的:#include inline int getc() //fread才是最快的
inline int read()
while(isdigit(s))
x = x * 10 + s - 48, s = getc();
return f ? -x : x;
}
或者:inline void read(int &x)
while(s>='0'&&s<='9')
x*=f;
}inline void pr(int x)
if(x>9)
pr(x/10);
putchar(x%10+48);
}
還有乙個,純屬個人測試,(好像)register不會縮時間(吧)#include inline int getc()
inline int read()
while(isdigit(s))
x=x*10+s-48,s=getc();
return f?-x:x;
}inline void pr(int x)
會縮時間
不會縮時間
星星之火OIer 星星題解
題目大意 天文學家經常研究星形圖,其中恆星由平面上的點表示,每顆恆星都有笛卡爾座標。讓恆星的水平為不高於恆星的數量,而不是給定恆星的右側。天文學家想知道恆星水平的分布。例如,檢視上圖中顯示的地圖。星號5的等級等於3 它由三顆恆星形成,數字為1,2和4 並且由2和4編號的星的等級是1.在該地圖上,只有...
星星之火OIer 矩形牛棚題解
題目大意 在一塊地板上整齊的鋪滿地磚,但其中有一些有汙跡,現在要求你找出乙個沒有汙跡的最大正方形 以下1代表有汙跡 0 1 1 1 0 1 0 0 1 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 其中最大正方形的邊長為2 狀態轉移方程 dp i j min dp i 1 j mi...
星星之火OIer 2018 12 13考試總結
自己社內出的一次小考。感覺身體被掏空。知道是dp,但dp 完全打不出來。深深地感到了恐懼。然後我就打的暴搜 2道題,暴搜出58分,竟然還能在53人中得14名。分割線 總結一下 其實我覺得,暴搜才是王道,dp都是辣雞 1 盡量打正解,不會才打暴搜,雖然還是可以騙到些分,而且還不錯。2 提高 的首正率,...