您的位置:首页 > 其它

最长公共上升子序列LCIS

2014-05-04 22:28 232 查看
周六的校赛被这题虐了我居然从来没听说过。

代码挺好懂的,这算模版题吗?

int LCIS()
{
int i,j,k;
memset(f,0,sizeof(f));
for(i=0;i<n;i++)
{
k=0;
for(j=0;j<m;j++)
{
if(a[i]==b[j]) //如果a[i]==b[j]
{
if(f[j]<f[k]+1) //就在0到j-1之间,找一个b[k]小于a[i]的f[k]值最大的解
f[j]=f[k]+1;
}
if(a[i]>b[j]) //0到j-1中,对于小于a[i]的,保存f值的最优解
{
if(f[k]<f[j])
k=j;
}
}
}
int ans=0;
for(i=0;i<m;i++)
ans=max(ans,f[i]);
return ans;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: