来源:点击打开链接

最长上升子序列的考察,是一个简单的DP问题。我们每一次求出从第一个数到当前这个数的最长上升子序列,直至遍历到最后一个数字为止,然后再取dp数组里最大的那个即为整个序列的最长上升子序列。我们用dp[i]来存放序列1-i的最长上升子序列的长度,那么dp[i]=max(1,dp[j])+1,(j∈[1, i-1]); 显然dp[1]=1,我们从i=2开始遍历后面的元素即可。

这个没有优化,效率是O(N^2),可以通过二分进行进一步的优化。

#include <iostream>
#include <cstring>
using namespace std;int dp[1009];
int a[1009];int lis(int n)
{int sum=0;dp[0]=a[0];for(int i=1;i<n;i++){dp[i]=a[i];for(int j=0;j<i;j++){if(a[i]>a[j] && dp[i]<dp[j]+a[i]){dp[i]=dp[j]+a[i];}if(sum<dp[i])sum=dp[i];}}return sum;
}int main()
{int testcase;while(cin>>testcase && testcase!=0){memset(dp,0,sizeof(dp));memset(a,0,sizeof(a));for(int i=0;i<testcase;i++){cin>>a[i];}cout<<lis(testcase)<<endl;}return 0;
}

转载于:https://www.cnblogs.com/jiangu66/p/3237077.html

【最长上升子序列】HDU 1087——Super Jumping! Jumping! Jumping!相关推荐

  1. 最长上升子序列模板 hdu 1087 Super Jumping! Jumping! Jumping!

    Nowadays, a kind of chess game called "Super Jumping! Jumping! Jumping!" is very popular i ...

  2. HDU 1087 Super Jumping! Jumping! Jumping! (最长上升子序列的变形,子序列值最大)

    题意 wsw获得了与小姐姐约会的机会,同时也不用担心wls会发现了,可是如何选择和哪些小姐姐约会呢?wsw希望自己可以循序渐进,同时希望挑战自己的极限,我们假定每个小姐姐有一个"攻略难度值& ...

  3. hdu 1087 Super Jumping! Jumping! Jumping!

    Nowadays, a kind of chess game called "Super Jumping! Jumping! Jumping!" is very popular i ...

  4. hdu 1087 Super Jumping! Jumping! Jumping!

    Nowadays, a kind of chess game called "Super Jumping! Jumping! Jumping!" is very popular i ...

  5. hdu 1087 Super Jumping! Jumping! Jumping! 动态规划

    Super Jumping! Jumping! Jumping! Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K ...

  6. DP专题训练之HDU 1087 Super Jumping!

    Description Nowadays, a kind of chess game called "Super Jumping! Jumping! Jumping!" is ve ...

  7. HDU 1087 Super Jumping! Jumping! Jumping!【最大递增子段和】

    Problem Description Nowadays, a kind of chess game called "Super Jumping! Jumping! Jumping!&quo ...

  8. hdu - 1087 - Super Jumping! Jumping! Jumping!

    题意:求最大升序和. 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1087 -->>设d[i]表示以第i个数为终点的最大升序和,然后从第1 ...

  9. HDU 1087 [Super Jumping! Jumping! Jumping!]动态规划

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1087 题目大意:有N个格子,每个格子有数值.从原点开始跳,可以跳到任何一个位置:在某一个位置,只能跳到 ...

  10. Super Jumping! Jumping! Jumping! HDU - 1087

    Super Jumping! Jumping! Jumping! HDU - 1087 题意: 给定一条长度为n的序列,其中一定存在一条元素和最大的严格上升子序列,求这条序列的元素和. 题解: 最长上 ...

最新文章

  1. docker 安装 RabbitMQ
  2. dhcpd命令--Linux命令应用大词典729个命令解读
  3. Wince 添加中文字库
  4. 在Ubuntu下如何压缩一个文件夹
  5. spark学习-JavaRDD注册成表然后用SparkSQL查询
  6. 获取当日零点 PHP
  7. 局域网电脑Sql2008 R2无法连接到localhost 解决方案
  8. 线程通过实现Runnable接口和继承Thread方法的区别
  9. 【毕业设计】基于情感分析的网络舆情热点评估系统 - 大数据 python可视化 数据分析
  10. 命令行工具抓取trace
  11. java医疗报销_医疗保险报销流程图(修改后)
  12. python高德地图api调用实例_Python玩转高德地图API(二)
  13. 服务器 sn 作用,命令查看服务器SN号
  14. ceph---ceph osd DNE状态对集群的影响
  15. winxp连接不到HP LaserJet Pro M128fp MFP解决方法
  16. 在xml中定义excel的sheet_XML和Excel
  17. C++实现随机点名器(支持文件读入、手动输入、不重复点名)
  18. 鼠标滚轮控制横向滚动条
  19. 网络上长说的监听某个端口是什么意思
  20. mysql主备方案_Mysql 主备双库方案

热门文章

  1. 使用iftop监控网卡实时流量
  2. mysql服务性能优化—my.cnf配置说明详解
  3. jQuery-ui-autocomplete
  4. SpaceSniffer 界面让我眼前一亮
  5. poj 3026 Borg Maze
  6. Mac x 10.12.4 如何安装sshfs
  7. ubuntu中eclipse无法识别android手机问题
  8. python小_Python 小入坑
  9. java中对象的克隆
  10. linux 把数字传给bc,linux – 在Bash中使用bc舍入数字