笔记——最长上升子序列
来源:互联网 发布:ps 保留图层导入Ai mac 编辑:程序博客网 时间:2024/06/01 08:15
int bSearch(int num,int k)//返回可更新的位置,如 1 3 4 ,2->1 2 4 将k长度的上升子序列的尾巴更新到最小
{
int low=1,high=k;
while(low<=high)
{
int mid=(low+high)/2;
if(num>=p[mid])
low=mid+1;
else
high=mid-1;
}
return low;
}
int LIS(int n)
{
int low=1,high=n;
int k=1;
for(int i=2;i<=n;++i)
{
if(p[i]>p[k])//若p[i]>p[k],上升子序列长度加1,p[i]变成尾巴
p[++k]=p[i];
else//若不是,则更新某一长度的尾巴
{
int pos=bSearch(p[i],k);
p[pos]=p[i];
}
}
return k;
}
{
int low=1,high=k;
while(low<=high)
{
int mid=(low+high)/2;
if(num>=p[mid])
low=mid+1;
else
high=mid-1;
}
return low;
}
int LIS(int n)
{
int low=1,high=n;
int k=1;
for(int i=2;i<=n;++i)
{
if(p[i]>p[k])//若p[i]>p[k],上升子序列长度加1,p[i]变成尾巴
p[++k]=p[i];
else//若不是,则更新某一长度的尾巴
{
int pos=bSearch(p[i],k);
p[pos]=p[i];
}
}
return k;
}
阅读全文
0 0
- 笔记——最长上升子序列
- 笔记——最长上升子序列(LIS)
- 【笔记】最长上升子序列
- hdu4521——最长上升子序列
- 学习笔记-最长上升子序列问题
- shuoj1936-D序列—最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 接口--工厂设计模式
- input中的disabled 和 readonly的区别
- 小博客开工啦
- I Hate It HDU
- 计蒜客 多边形面积(pick定理模板题)
- 笔记——最长上升子序列
- JAVA的小知识点
- LightOJ 1282 Leading and Trailing
- Windows Practice_文件搜索器(二)_多线程调试
- poj 3904 莫比乌斯函数灵活运用
- 数据库事物
- csrf js
- 使用NutzDao进行复杂SQL条件查询
- C#人脸识别入门篇--提取人脸特征值及人脸识别