60,4TLE
查看原帖
60,4TLE
1211335
_liujunming_楼主2024/8/26 10:41
#include<bits/stdc++.h>
using namespace std;
int dp[100005],last[100005];
int a[100005],b[100005],n;
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)cin>>a[i];
	for(int i=1;i<=n;i++)cin>>b[i];
	memset(last,0,sizeof(last));
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			dp[j]=max(last[j],dp[j-1]);
			if(a[i]==b[j])
				dp[j]=max(dp[j],last[j-1]+1); 
		}
		memcpy(last,dp,sizeof(last));
	}
	cout<<dp[n]<<endl;
	return 0; 
}

有没有除了二分优化以外其他的方法?二分优化蒟蒻不会

2024/8/26 10:41
加载中...