从ao神处偷取的头文件

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
#define all(x) x.begin(), x.end()
#define mem(x, y) memset(x, y, sizeof(x))
#define what_is(x) cerr <<  "Line " << __LINE__ << ": " << #x << " is " << (x) << endl;
#define suf_zero(x) __builtin_ffs(x)
#define pre_zero(x) __builtin_clz(x)
#define num_one(x) __builtin_popcount(x)
#define error(args...) { string _s = #args; replace(_s.begin(), _s.end(), ',', ' '); stringstream _ss(_s); istream_iterator<string> _it(_ss); err(_it, args); }
#define lson l, mid, rt<<1
#define rson mid+1, r, rt<<1|1
void err(istream_iterator<string> it) {cerr<<endl;}
template<typename T, typename... Args>
void err(istream_iterator<string> it, T a, Args... args) {
    cerr << *it << " = " << a << " , ";
    err(++it, args...);
}

// fast IO
namespace fastIO{
    #define BUF_SIZE 100000
//     fread -> read
    bool IOerror = 0;
    inline char nc(){
        static char buf[BUF_SIZE], *p1 = buf+BUF_SIZE,
         *pend = buf+BUF_SIZE;
         if(p1==pend){
             p1 = buf;
             pend = buf+fread(buf, 1, BUF_SIZE, stdin);
             if(pend==p1){
                 IOerror = 1;
                 return -1;
             }
         }
         return *p1++;
    }
    inline bool blank(char ch){return ch==' '||ch=='\n'||ch=='\r'||ch=='\t';}
    inline void read(int &x){
        char ch;
        while(blank(ch=nc()));
        if(IOerror)return ;
        for(x=ch-'0';(ch=nc())>='0'&&ch<='9';x=x*10+ch-'0');
    }
    #undef BUF_SIZE
}
using namespace fastIO;
//#include<ext/pb_ds/assoc_container.hpp>
//#include<ext/pb_ds/hash_policy.hpp>
//using namespace __gnu_pbds;
//ll sum_of_sq(ll n){n%=mod;return n*(n+1)%mod*(2*n+1)%mod*inv6%mod;}
const double PI = acos(-1.0);
const double eps = 1e-8;
const ll mod = 1e9+7;
ll qp(ll b, ll n){ll r=1;if(n<0)n+=mod-1;b%=mod;for(;n;n>>=1,b=b*b%mod)if(n&1)r=r*b%mod;return r;}
//cc_hash_table<ll, ll> S;

去掉了一些自己不太可能用上的。

posted @ 2019-03-06 21:08  韵意  阅读(206)  评论(0编辑  收藏  举报