网站开发需要注册几类商标,网站建设 长期待摊,wordpress全ajax主题,网站开发框架技术VJ地址 这道题#xff0c;首先要把表打出来#xff0c;表打出来 规律就很容易发现了#xff0c;一列中它们的差值是等差数列#xff0c;可以发现公差为2 * dp[j][i]#xff0c; 首项为i * dp[j][i]; 很多人都是直接简化公式#xff0c;我发现在数据范围内可以用递推来算出…VJ地址 这道题首先要把表打出来表打出来 规律就很容易发现了一列中它们的差值是等差数列可以发现公差为2 * dp[j][i] 首项为i * dp[j][i]; 很多人都是直接简化公式我发现在数据范围内可以用递推来算出。
代码
#include bits/stdc.h
using namespace std;
typedef long long ll;
typedef pairint, int pii;
const int N 1e510;
const int inf 0x3f3f3f3f;
const ll INF 0x3f3f3f3f3f3f3f3f;
const ll mod 1e97;
const double eps 1e-8;
int dx[4]{0,1,0,-1},dy[4]{1,0,-1,0};
ll dp[55][55];
int main()
{#ifdef LOCALfreopen(in.txt, r, stdin);#endifint t;scanf(%d,t);int c0;while(t--){ll n,m;ll q;scanf(%lld%lld%lld,n,m,q);if(mn) mn;memset(dp,0,sizeof dp);dp[1][0]1;ll g;ll k;for(ll i1;im;i){for(ll ji;jn;j){if(ji) dp[j][i]dp[j][i-1],g((ll)2*dp[j][i])%q,k((ll)i*dp[j][i])%q;else{dp[j][i](dp[j-1][i]k)%q;k(kg)%q;}}}printf(Case #%d: %lld\n,c,dp[n][m]%q);}return 0;
}