2019牛客国庆集训派对day3 B 2018-div-matrix

AC通道

玄学DP

观察样例发现,结果都是完全平方数,找规律。。。都说了是玄学

ans[i][j] = dp[i][j] * dp[i][j];
dp[i][j] = dp[i - 1][j] + dp[i][j - 1] + 1;

 OK,到此结束。。。

果然很悬

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod = 1e9 + 7, N = 2005;
ll dp[N][N];
int main()
{
	for (int i = 1; i <= 2000; i++){
		dp[i][1] = dp[1][i] = i;
	}
	for (int i = 2; i <= 2000; i++){
		for (int j = 2; j <= 2000; j++){
			dp[i][j] = dp[i - 1][j] + dp[i][j - 1] + 1;
			dp[i][j] %= mod;
		}
	}
	int n, m;
	while (~scanf("%d %d", &n, &m)){
		ll res = dp[n][m] * dp[n][m] % mod;
		printf("%lld\n", res);
	}
	return 0;
}

 

posted @ 2019-10-03 15:03  correct  阅读(93)  评论(0)    收藏  举报