刚学区间 dp ,样例没过
查看原帖
刚学区间 dp ,样例没过
204619
wwhOvO楼主2020/8/1 19:57

转移方程和题解去的 duliu 们写的是一样的,但是不知道程序哪里出了问题。有人可以帮忙看看吗 qwq

#include <cstdio>
#include <algorithm>
using namespace std;

int n, a[250], dp[250][250];
int ans;

int main() {
	scanf("%d", &n);
	for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
	for (int i = 1; i <= n; i++) dp[i][i] = a[i];
	for (int l = 1; l <= n; l++) {
		for (int i = 1, j = l; j <= n; i++, j++) {
			for (int k = i + 1; k < j; k++) {
				if (dp[i][k] == dp[k + 1][j]) {
					dp[i][j] = max(dp[i][j], dp[i][k] + 1);
				}
			}
			ans = max(ans, dp[i][j]);
		}
	}
	printf("%d\n", ans);
	return 0;
}

2020/8/1 19:57
加载中...