博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态规划(最长上升子序列)
阅读量:5129 次
发布时间:2019-06-13

本文共 512 字,大约阅读时间需要 1 分钟。

最长上升子序列是对于一个给定的序列求出最长的一个序列(不需要连续),该序列是上升的。这个问题可以有O(n^2)和O(nlogn)两种解法

O(n^2)采取动态规划的思想,f[i]表示以第i个元素结尾的序列最长上升的子序列长度

//最长非降 for(int i=1;i<=num;i++)        f[i]=1;    for(int i=1;i<=num;i++)    {        for(int j=1;j

O(nlogn)

//最长非降    ans[1]=a[1];    int len=1;    for(int i=2;i<=num;i++)    {        if(a[i]>=ans[len])            ans[++len]=a[i];        else        {            int pos=upper_bound(ans,ans+len,a[i])-ans;            ans[pos]=a[i];        }    }

 

转载于:https://www.cnblogs.com/flightless/p/8591141.html

你可能感兴趣的文章
android的style控制Theme
查看>>
Common xaml controls(补交作业)
查看>>
tensorflow函数解析:Session.run和Tensor.eval的区别
查看>>
Ext.Ajax.request 与formPanel.getForm().submit() success的区别
查看>>
基于 select2 插件的自做效果
查看>>
mv命令
查看>>
mysql读写分离
查看>>
webRTC源码下载 Windows Mac(iOS) Linux(Android)全
查看>>
函数和方法的区别
查看>>
树剖想法题——BZOJ3626
查看>>
master
查看>>
Duilib使用wke显示echarts
查看>>
linux lsof用法
查看>>
windows(64位)下使用curl命令
查看>>
杭电2093
查看>>
字符串 “ ” 的方法
查看>>
Android初学第72天
查看>>
Fiddler抓包后保存为JMX(jmeter脚本,不限jmeter使用版本)
查看>>
[SimplePlayer] 3. 视频帧同步
查看>>
UVA 11027 - Palindromic Permutation
查看>>