自然数幂和模板

自然数幂和模板(第一类斯特林数)

ll get(ll n,ll k){
    fo(i,0,k) ss[i][0]=0,ss[i][i]=1;
    fo(i,1,k)
        fo(j,1,i-1)
            ss[i][j]=(ss[i-1][j-1]-(i-1)*ss[i-1][j]%mo)%mo;
    f[0]=(n+1)%mo;f[1]=n*(n+1)/2%mo;
    fo(i,2,k){
        f[i]=1;
        fo(j,n+1-i,n+1)
            if (j%(i+1)==0) f[i]=f[i]*j/(i+1)%mo;else f[i]=f[i]*j%mo;
        fo(j,0,i-1) f[i]=((f[i]+ss[i][j]%mo*f[j]%mo)%mo+mo)%mo;
    }
    return f[k];
}

你可能感兴趣的:(模板,自然数幂和)