一些知识的总结(1)

2017-10-18  本文已影响0人  zeppoe
  • 异或变换

  • 定义结构体

  • 字符串哈希

  • 快速幂

  • 队列

struct 结构体名称{
    变量类型 变量1,变量2,...;
}以该结构体为类型的变量名称;
#define hnum 100007
//大质数
string h[5000];

int hash(string ss){
    int x=0,k=1;
    int len=ss.size();
    for(int i=0;i<len;i++){
        x+=k*(ss[i]-'a');
        if(x>=hnum) x%=hnum;
        k*=26;
        if(k>=hnum) k%=hnum;
    } 
    while(h[x]){
        x++;
        if(x>=hnum) x-=hnum;
    }
    return x;
}
//a*b%p
int quickmi(int a,int b){
    int ans=1;
    while(b>0){
        if(b%2==1) ans=(ans*a)%p;
        b=b>>1;// /2
        a=(a*a)%p;
    }
    return ans;
}
上一篇下一篇

猜你喜欢

热点阅读