求助,萌新刚学dp,哪个细节不对
查看原帖
求助,萌新刚学dp,哪个细节不对
461452
SunLegend楼主2023/1/5 09:16

看了题解,思路应该是对的,就是样例过不去,不知道哪里写错了

#include <bits/stdc++.h>
using namespace std;   
int n,dp[60][262222],a[262222],t,maxx;
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		dp[a[i]][i]=i+1;
	}
    for(int i=2;i<=58;i++)
    {
        for(int j=1;j<=n;j++)
        {
        	if(!dp[i][j]) dp[i][j]=dp[i-1][dp[i-1][j]];
        }
    }
   	for(int i=2;i<=58;i++)
    {
        for(int j=1;j<=n;j++)
        {
        	maxx=max(maxx,dp[i][1]);
        }
    }
    cout<<maxx;
    return 0;
}
2023/1/5 09:16
加载中...