爆内存求助,理解不了为什么会在第一个测试点爆内存。
查看原帖
爆内存求助,理解不了为什么会在第一个测试点爆内存。
874676
silentzdw楼主2023/7/31 19:30
#include <bits/stdc++.h>
using namespace std;
const int N = 20100;
int a[N], b[N];
int f[N][N];

int main() {
	int t;
	cin >> t;
	while (t--) {
		int n;
		cin >> n;
		for (int i = 1; i <= n; i++) {
			cin >> a[i];//
		}
		for (int i = 1; i <= n; i++) {
			cin >> b[i];
		}
		for (int i = 1; i <= n; i++)
			for (int j = 1; j <= n; j++) {
				f[i][j] = max(f[i][j - 1], f[i - 1][j]);
				if (a[i] == b[j])
					f[i][j] = max(f[i][j], f[i - 1][j - 1] + 1);

			}
		cout << n - f[n][n] << "\n";
	}

	return 0;
}
2023/7/31 19:30
加载中...