一些常见的简单优化

1:输入优化

read

ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
namespace io{
	const ll BUFSIZE=1<<20;
	char ibuf[BUFSIZE],*is=ibuf,*it=ibuf;
	char obuf[BUFSIZE],*os=obuf,*ot=obuf+BUFSIZE;
	inline char getch(){
		if(is==it)it=(is=ibuf)+fread(ibuf,1,BUFSIZE,stdin);
		return (is==it)?EOF:*is++;
	}
	inline ll read(){
		ll res=0;bool neg=false;char ch=getch();
		while(!(isdigit(ch)||ch=='-')&&ch!=EOF)ch=getch();
		if(ch=='-')neg=true,ch=getch();
		while(isdigit(ch))res=res*10+(ch-'0'),ch=getch();
		return neg?-res:res;
	}
	inline void flush(){
		fwrite(obuf,1,os-obuf,stdout);
		os=obuf;
	}
	inline void putch(char ch){
		*os++=ch;
		if(os==ot)flush();
	}
	inline void write(ll res){
		char q[25];ll top;
		if(res<0)putch('-'),res=-res;
		if(res==0)putch('0');			
		top=0;
		while(res)q[top++]=res%10+'0',res/=10;
		while(top--)putch(q[top]);
	}
}

2:O2优化

#pragma GCC optimize(2)/*.....................................................]]@@@@@@@@@@@@@@@@@@@@@@@@`............................................................................................*/
#pragma GCC optimize(3)/*..............................................]]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`..........................................................................................*/
#pragma GCC optimize("Ofast")/*...................................../@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`........................................................................................*/
#pragma GCC optimize("inline")/*................................../@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`....................................../$$$$$$/$$$$....................................*/
#pragma GCC optimize("-fgcse")/*...............................,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\....................................| $$_  $$_  $$...................................*/
#pragma GCC optimize("-fgcse-lm")/*..........................,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\..................................| $$.\ $$.\ $$...................................*/
#pragma GCC optimize("-fipa-sra")/*........................,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\................................| $$.| $$.| $$...................................*/
#pragma GCC optimize("-ftree-pre")/*.....................,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^..............................| $$.| $$.| $$...................................*/
#pragma GCC optimize("-ftree-vrp")/*...................../@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^.............................\__/.|__/.|__/...................................*/
#pragma GCC optimize("-fpeephole2")/*....................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\..............................................................................*/
#pragma GCC optimize("-ffast-math")/*.................../@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@................................/$$$$$$......................................*/
#pragma GCC optimize("-fsched-spec")/*................./@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.............................../$$__  $$.....................................*/
#pragma GCC optimize("unroll-loops")/*................@@@@@@@@@@@OOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..............................| $$  \ $$.....................................*/
#pragma GCC optimize("-falign-jumps")/*..............@@@@@@@@@@OOOooooooooooooooOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..............................| $$  | $$.....................................*/
#pragma GCC optimize("-falign-loops")/*..............@@@@@@@@OOOoooooooooooooOooooOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@..............................|  $$$$$$/.....................................*/
#pragma GCC optimize("-falign-labels")/*.............@@@@@@@@OOOooooooooooooooooooOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@^..............................\______/.......................................*/
#pragma GCC optimize("-fdevirtualize")/*.............\@@@@@@@OOOooooooOoooOoooooooOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@^.............................................................................*/
#pragma GCC optimize("-fcaller-saves")/*.............,@@@@@@OOOOooooooooooooooooooOOoooooOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@....................................../$$.....................................*/
#pragma GCC optimize("-fcrossjumping")/*..............=@@@@@OOOOoooooooooooooooOooOooooooOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@.....................................|.$$.....................................*/
#pragma GCC optimize("-fthread-jumps")/*................\@@OOOOOOOoooooOOoooooOOOooooooOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@................................../$$$$$$$.....................................*/
#pragma GCC optimize("-funroll-loops")/*..................@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@^................................./$$__  $$.....................................*/
#pragma GCC optimize("-fwhole-program")/*.................@OOOO@@@@@@@@@@@@@@@OOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.................................| $$..| $$.....................................*/
#pragma GCC optimize("-freorder-blocks")/*..............]@@OOO@@OOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..................................| $$..| $$.....................................*/
#pragma GCC optimize("-fschedule-insns")/*.............OOOOOOOOOOOOOO@@@@@@@@@@@@OO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\..............................| $$$$$$$......................................*/
#pragma GCC optimize("inline-functions")/*............=@@@@@@OOO@@@@@@@@@@@@@@@@@OO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\.............................\_______/......................................*/
#pragma GCC optimize("-ftree-tail-merge")/*...........=@@@@@@OOOOOOOO@@@@@@@OOO@@OO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@............................................................................*/
#pragma GCC optimize("-fschedule-insns2")/*...........=@OO@@OOOOOOOOOOOOOO@OOO@@OOOO@@@@@@OOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@............................................................................*/
#pragma GCC optimize("-fstrict-aliasing")/*...........OOOOOOOOOOOOOOOOO@OOOOOOOooOOO@@@@@@OOO@@@@@OO@@@@@@@@@@@@@@@@@@@^.............................................................................*/
#pragma GCC optimize("-fstrict-overflow")/*............=OOOOOOOoooOOOOOOOOOOOOOoooOOOO@@@@@@OOOOOOOOO@@@@@@@@@@@@@@@@@@/.............................................................................*/
#pragma GCC optimize("-falign-functions")/*.............OOOOOOOOoOOOOOOOOOOOOOOoooOOO@@@@@@OOOOOOOOOOO@@@@@@@@@@@@@@@@@`.............................................................................*/
#pragma GCC optimize("-fcse-skip-blocks")/*.............=OOOOOOOoooOOOOOOOOOOoooooOOO@@@@@@@OOOOOOOOO@@@@@@@@@@@@@@@@@@..............................................................................*/
#pragma GCC optimize("-fcse-follow-jumps")/*.............OOOOOOOoooooooOOOOOoOOOOOO@@@@@@@@@OOOOOOOOO@@@@@@@@@@@@@@@@@`..............................................................................*/
#pragma GCC optimize("-fsched-interblock")/*.............OOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@OOOOO@@@@@@@@@@@@@@@@@[................................................................................*/
#pragma GCC optimize("-fpartial-inlining")/*.............@@OOOOOOOOOOOOOoooOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`..................................................................................*/
#pragma GCC optimize("no-stack-protector")/*..............\OOOOOOOOOOOOoooooooOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@/...................................................................................*/
#pragma GCC optimize("-freorder-functions")/*..............OOOOOOOOOOOOOoooOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@^...................................................................................*/
#pragma GCC optimize("-findirect-inlining")/*..............OOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@O....................................................................................*/
#pragma GCC optimize("-fhoist-adjacent-loads")/*...........=OOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^....................................................................................*/
#pragma GCC optimize("-frerun-cse-after-loop")/*...........,OOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.....................................................................................*/
#pragma GCC optimize("inline-small-functions")/*............OOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@^.....................................................................................*/
#pragma GCC optimize("-finline-small-functions")/*..........,OOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`.....................................................................................*/
#pragma GCC optimize("-ftree-switch-conversion")/*...........=OOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^......................................................................................*/
#pragma GCC optimize("-foptimize-sibling-calls")/*............\@OOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@.......................................................................................*/
#pragma GCC optimize("-fexpensive-optimizations")/*............,OOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@/.......................................................................................*/
#pragma GCC optimize("-funsafe-loop-optimizations")/*............\@@@OOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@\.......................................................................................*/
#pragma GCC optimize("inline-functions-called-once")/*............,O@@OOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^O.....................................................................................*/
#pragma GCC optimize("-fdelete-null-pointer-checks")/*..............\OOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\....................................................................................*/
#pragma comment(linker, "/STACK:102400000,102400000")/*.............=OOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OOO\`.................................................................................*/
#pragma GCC diagnostic error "-std=c++11"/*........................,OOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OOOOOO\................................................................................*/
#pragma GCC -mcmodle=large/*.......................................oO@OOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@OOOOOOOO@\...............................................................................*/

暂时就更到这吧,以后有知道啥好用的再加

posted @ 2024-03-26 12:50  _____hzy  阅读(16)  评论(0)    收藏  举报