您的位置:首页 > 理论基础

最长不下降子序列【ccf中学计算机程序设计 基础篇】

2017-07-16 23:29 260 查看
int n=0;
int ans=0;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>arr[i];
}

dp[1]=1;
for(int i=2;i<=n;i++)
{
for(int j=1;j<=i-1;j++)
{
if(arr[j]<=arr[i] && (dp[j]+1)>dp[i])
{
dp[i]=dp[j]+1;
}
}
}

for(int i=1;i<=n;i++)
{
cout<<dp[i]<<" ";
}

return 0;


我先耐心的写出递归方程再转成状态转移方程。!!!nice!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: