【最长上升子序列】HDU 1087——Super Jumping! Jumping! Jumping!
来源:点击打开链接
最长上升子序列的考察,是一个简单的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!相关推荐
- 最长上升子序列模板 hdu 1087 Super Jumping! Jumping! Jumping!
Nowadays, a kind of chess game called "Super Jumping! Jumping! Jumping!" is very popular i ...
- HDU 1087 Super Jumping! Jumping! Jumping! (最长上升子序列的变形,子序列值最大)
题意 wsw获得了与小姐姐约会的机会,同时也不用担心wls会发现了,可是如何选择和哪些小姐姐约会呢?wsw希望自己可以循序渐进,同时希望挑战自己的极限,我们假定每个小姐姐有一个"攻略难度值& ...
- hdu 1087 Super Jumping! Jumping! Jumping!
Nowadays, a kind of chess game called "Super Jumping! Jumping! Jumping!" is very popular i ...
- hdu 1087 Super Jumping! Jumping! Jumping!
Nowadays, a kind of chess game called "Super Jumping! Jumping! Jumping!" is very popular i ...
- hdu 1087 Super Jumping! Jumping! Jumping! 动态规划
Super Jumping! Jumping! Jumping! Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K ...
- DP专题训练之HDU 1087 Super Jumping!
Description Nowadays, a kind of chess game called "Super Jumping! Jumping! Jumping!" is ve ...
- HDU 1087 Super Jumping! Jumping! Jumping!【最大递增子段和】
Problem Description Nowadays, a kind of chess game called "Super Jumping! Jumping! Jumping!&quo ...
- hdu - 1087 - Super Jumping! Jumping! Jumping!
题意:求最大升序和. 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1087 -->>设d[i]表示以第i个数为终点的最大升序和,然后从第1 ...
- HDU 1087 [Super Jumping! Jumping! Jumping!]动态规划
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1087 题目大意:有N个格子,每个格子有数值.从原点开始跳,可以跳到任何一个位置:在某一个位置,只能跳到 ...
- Super Jumping! Jumping! Jumping! HDU - 1087
Super Jumping! Jumping! Jumping! HDU - 1087 题意: 给定一条长度为n的序列,其中一定存在一条元素和最大的严格上升子序列,求这条序列的元素和. 题解: 最长上 ...
最新文章
- docker 安装 RabbitMQ
- dhcpd命令--Linux命令应用大词典729个命令解读
- Wince 添加中文字库
- 在Ubuntu下如何压缩一个文件夹
- spark学习-JavaRDD注册成表然后用SparkSQL查询
- 获取当日零点 PHP
- 局域网电脑Sql2008 R2无法连接到localhost 解决方案
- 线程通过实现Runnable接口和继承Thread方法的区别
- 【毕业设计】基于情感分析的网络舆情热点评估系统 - 大数据 python可视化 数据分析
- 命令行工具抓取trace
- java医疗报销_医疗保险报销流程图(修改后)
- python高德地图api调用实例_Python玩转高德地图API(二)
- 服务器 sn 作用,命令查看服务器SN号
- ceph---ceph osd DNE状态对集群的影响
- winxp连接不到HP LaserJet Pro M128fp MFP解决方法
- 在xml中定义excel的sheet_XML和Excel
- C++实现随机点名器(支持文件读入、手动输入、不重复点名)
- 鼠标滚轮控制横向滚动条
- 网络上长说的监听某个端口是什么意思
- mysql主备方案_Mysql 主备双库方案