【技巧】【卡常】

1)快读

inline int read()
{
    int x=0;char c=getchar();
    while(c <'0' || c >'9' ) c=getchar();
    while(c>='0' && c<='9' ) x=(x<<1)+(x<<3)+c-'0',c=getchar();
    return x;
}
View Code

快输

inline void print(int x)
{
    if(x<0)    putchar('-'),x=-x;
    if(x>9) print(x/10);
    putchar(x%10+'0');
}
递归

2)数据类型

register 相当于一种“暗示”。 它暗示你的内存cache这个变量将会频繁使用,使得你的cache存下该变量以便直接调用。用于局部非char变量定义中

static相同,加在局部char型变量中

3)gcd和lcm

inline int gcd(int x, int y){return y?gcd(y,x%y):x;}
inline int lcm(int n,int m){return n*m/gcd(n,m);}//与gcd函数连用
View Code

4)并查集

inline int find(int k)
{
    if(f[k]==k)    return k;
    return f[k]=fd(f[k]);
}
inline void mr(int v,int u)
{
    int t1=fd(v),t2=fd(u);
    if(t1!=t2)f[t2]=t1;
}
View Code
原文地址:https://www.cnblogs.com/xwww666666/p/15400348.html