散装C++
-
优化小寄巧:氧气优化(O2优化O2优化)
#pragma GCC optimize(1) #pragma GCC optimize(2) #pragma GCC optimize(3,"Ofast","inline") #pragma GCC optimize(3) // 平常时用这个,考试时用上面那个
-
优化小寄巧:让你的程序在用了之后螺旋升天
inline void a(void);// 在函数前加个 inline ,非常的不戳 for(register int i;...;i++);// 加个 register ,速度提升0.1%
-
美滋滋的快速毒写
typedef long long ll; namespace FIO_ { const string _enter="\n"; const string _space=" "; const int custom_str_end=(1<<0); struct FastioSet { int string_set,cstr_set; char str_end_char; void init_ioSet() { string_set=0; cstr_set=0; str_end_char=' '; return ; } }; struct Fastio { FastioSet ioset; Fastio() { ioset.init_ioSet(); return ; } //以下实现输入功能 friend Fastio& operator>>(Fastio& f_io,int& _int) {// 相当于 cin>>(int) int ch=getchar(),res=0,f=1; while(ch<48||ch>57) { if(ch==45) f=-1; ch=getchar(); } while(ch>=48&&ch<=57) { res=(res<<3)+(res<<1)+(ch^48); ch=getchar(); } _int=res*f; return f_io; } friend Fastio& operator>>(Fastio& f_io,ll& _ll) { int ch=getchar(); ll res=0,f=1LL; while(ch<48||ch>57) { if(ch==45) f=-1; ch=getchar(); } while(ch>=48&&ch<=57) { res=(res<<3)+(res<<1)+(ch^48); ch=getchar(); } _ll=res*f; return f_io; } friend Fastio& operator>>(Fastio& f_io,string& s) {// 相当于 cin>>(string) s.clear(); char ch=getchar(); if(f_io.ioset.string_set&custom_str_end) while(ch!=f_io.ioset.str_end_char) { s+=ch; ch=getchar(); } else while(ch!=' '&&ch!='\n') { s+=ch; ch=getchar(); } return f_io; } friend Fastio& operator>>(Fastio& f_io,char cstr[]) {// 相当于 cin>>(char*) 或 cin>>(char[]) char ch=getchar(); int p=0; if(f_io.ioset.cstr_set&custom_str_end) while(ch!=f_io.ioset.str_end_char) { cstr[p++]=ch; ch=getchar(); } else while(ch!=' '&&ch!='\n') { cstr[p++]=ch; ch=getchar(); } cstr[p]='\0'; return f_io; } // 以下实现输出功能 friend Fastio& operator<<(Fastio& f_io,int _int) { int sta[16],p=0,int2=_int; while(int2!=0) { sta[p++]=int2%10; int2/=10; } for(;p>0;p--) putchar(sta[p-1]+'0'); return f_io; } friend Fastio& operator<<(Fastio& f_io,ll _ll) { int sta[16],p=0; ll ll2=_ll; while(ll2!=0) { sta[p++]=ll2%10; ll2/=10; } for(;p>0;p--) putchar(sta[p-1]+'0'); return f_io; } friend Fastio& operator<<(Fastio& f_io,string s) { int len=s.size(); for(int i=0;i<len;i++) putchar(s[i]); return f_io; } friend Fastio& operator<<(Fastio& f_io,char ch) { putchar(ch); return f_io; } friend Fastio& operator<<(Fastio& f_io,char str[]) { int len=strlen(str); for(int i=0;i<len;i++) putchar(str[i]); return f_io; } // 设置C格式与C++格式的字符串的结束字符ch void str_end_set(char ch) { ioset.str_end_char=ch; ioset.cstr_set|=custom_str_end; ioset.string_set|=custom_str_end; return ; } }; Fastio io; const char fendl='\n'; }; using namespace FIO_; #define cin io #define cout io #define endl fendl // 哈哈哈在VSCODE里写代码真爽 // 平时直接正常 cin cout 就行了