萌新刚学 OI,求助 AcwingAC,WA90pts
  • 板块P10954 LCIS
  • 楼主CatFromMars
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/9/14 20:50
  • 上次更新2024/9/14 23:09:04
查看原帖
萌新刚学 OI,求助 AcwingAC,WA90pts
350270
CatFromMars楼主2024/9/14 20:50

如题,虽然说数据有误,但是貌似是第四个点,我这个是最后一个点 WA 了,不是很能理解为什么,希望有巨佬能够帮个忙 awa

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 3000;
int f[N + 10][N + 10], A[N + 10], B[N + 10], n;
signed main() {
	cin >> n;
	for(int i = 1; i <= n; i++)
		cin >> A[i];
	for(int i = 1; i <= n; i++)
		cin >> B[i];
		
	f[0][0] = 0;
	int ans = 0;
	for(int i = 1; i <= n; i++) {
		int tmp = 0;
		for(int j = 0; j <= n; j++) {
			if(j >= 1)
				if(B[j - 1] < A[i]) tmp = max(tmp, f[i - 1][j - 1] + 1);
			if(A[i] != B[j]) {
				f[i][j] = f[i - 1][j];
				continue;
			}
			f[i][j] = max(f[i - 1][j], tmp);
		}
	}
	for(int i = 1; i <= n; i++) {
		ans = max(ans, f[n][i]);
	}
	cout << ans << endl;
}
2024/9/14 20:50
加载中...