卡常

1.调换搜索顺序

2.调换枚举顺序

3.快读快输

4.位运算

5.循环展开

6.register

7.long long只在必要开

8.函数里在if里return

9.火车头

%: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")
%:pragma GCC optimize("-falign-jumps")
%:pragma GCC optimize("-falign-loops")
%:pragma GCC optimize("-falign-labels")
%:pragma GCC optimize("-fdevirtualize")
%:pragma GCC optimize("-fcaller-saves")
%:pragma GCC optimize("-fcrossjumping")
%:pragma GCC optimize("-fthread-jumps")
%:pragma GCC optimize("-funroll-loops")
%:pragma GCC optimize("-fwhole-program")
%:pragma GCC optimize("-freorder-blocks")
%:pragma GCC optimize("-fschedule-insns")
%:pragma GCC optimize("inline-functions")
%:pragma GCC optimize("-ftree-tail-merge")
%:pragma GCC optimize("-fschedule-insns2")
%:pragma GCC optimize("-fstrict-aliasing")
%:pragma GCC optimize("-fstrict-overflow")
%:pragma GCC optimize("-falign-functions")
%:pragma GCC optimize("-fcse-skip-blocks")
%:pragma GCC optimize("-fcse-follow-jumps")
%:pragma GCC optimize("-fsched-interblock")
%:pragma GCC optimize("-fpartial-inlining")
%:pragma GCC optimize("no-stack-protector")
%:pragma GCC optimize("-freorder-functions")
%:pragma GCC optimize("-findirect-inlining")
%:pragma GCC optimize("-fhoist-adjacent-loads")
%:pragma GCC optimize("-frerun-cse-after-loop")
%:pragma GCC optimize("inline-small-functions")
%:pragma GCC optimize("-finline-small-functions")
%:pragma GCC optimize("-ftree-switch-conversion")
%:pragma GCC optimize("-foptimize-sibling-calls")
%:pragma GCC optimize("-fexpensive-optimizations")
%:pragma GCC optimize("-funsafe-loop-optimizations")
%:pragma GCC optimize("inline-functions-called-once")
%:pragma GCC optimize("-fdelete-null-pointer-checks")
View Code

 10.C++14 -O2

11.map查找不用[],用find()

12.光速幂

 

struct LP{
    ll base[N][2];int sq=31700;
    inline void init(int x){
        base[0][0]=base[0][1]=1;
        for(int i=1;i<=sq;++i)  base[i][0]=(i1)base[i-1][0]*x%mod;
        for(int i=1;i<=sq;++i)  base[i][1]=(i1)base[i-1][1]*base[sq][0]%mod;
    }inline ll power(int x){return (i1)base[x%sq][0]*base[x/sq][1]%mod;}
} lp;
View Code

 

13.取模优化

struct FastMod{
    long long m,p;
    ll ck(ll x){return x>=p?x-p:x;}
    void init(ll pp){m=((__int128)1<<64)/pp;p=pp;}
    friend long long operator%(i1 x,FastMod M){return M.ck(x-(__int128(x)*M.m>>64)*M.p);}
}mod;
View Code

 

posted @ 2023-07-26 21:44  yisiwunian  阅读(70)  评论(0编辑  收藏  举报