这要怎么剪枝啊
查看原帖
这要怎么剪枝啊
734295
lovely_Alicia楼主2023/4/27 21:22

rt

#include<bits/stdc++.h>
using namespace std;
int dp[1000005],a[100005],maxn,t=1;
int main()
{
    while(cin>>a[t])
    {
  		t++;
    }
    for(int i=t-1;i>=1;i--)
    {
        dp[i]=1;
        for(int j=i+1;j<t;j++)
	    {
            if(a[j]<=a[i])
		    {
		  		dp[i]=max(dp[i],dp[j]+1);
		    }
        }
        maxn=max(maxn,dp[i]);
    }
    cout<<maxn<<endl;
    maxn=0;
    for(int i=1;i<t;i++)
	{
        dp[i]=1;
        for(int j=1;j<i;j++)
	    {
            if(a[j]<a[i])
		    {
		  		dp[i]=max(dp[i],dp[j]+1);
		    }
        }
        maxn=max(m axn,dp[i]);
    }
    cout<<maxn;
}
2023/4/27 21:22
加载中...