暂存

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define N 2010
int mo,n,t;
int qp(int x,int y){
    int r=1;
    for(;y;y>>=1,x=x*x%mo)
        if(y&1)r=r*x%mo;
    return r;
}
void ln(int *a,int *b,int n){
    for(int i=0;i<n;i++){
        b[i]=a[i+1]*(i+1)%mo;
        for(int j=0;j<i;j++)
            b[i]=(mo-a[i-j]*b[j]%mo+b[i])%mo;
    }
    for(int i=n;i;i--)
        b[i]=qp(i,mo-2)*b[i-1]%mo;
    b[0]=0;
}
void exp(int *a,int *b,int n){
    b[0]=1;
    for(int i=1;i<=n;i++)
        a[i]=a[i]*i%mo;
    for(int i=1;i<=n;i++){
        b[i]=0;
        for(int j=1;j<=i;j++)
            b[i]=(a[j]*b[i-j]+b[i])%mo;
        b[i]=b[i]*qp(i,mo-2)%mo;
    }
    for(int i=1;i<=n;i++)
        a[i]=a[i]*qp(i,mo-2)%mo;
}
int main(){
    cin>>n>>t>>mo;
    
    cout<<dp[n][1]*qp(n,t)%mo;
}
原文地址:https://www.cnblogs.com/cszmc2004/p/12585190.html