poj2533 LIS
题目链接: http://poj.org/problem?id=2533
题意:第一个数n,接下来n个数,> ....求最长上升子序列。
这道题有两种解法,第一种是通解,也适用于别的LIS。
代码1:
#include<cstdio>
#include<algorithm>
using namespace std; int a[],dp[]; int main()
{
int n;
while(scanf("%d",&n)==)
{
for(int i=; i<=n; i++)
{
scanf("%d",&a[i]);
dp[i]=;
}
int len=;
for(int i=; i<=n; i++)
{
for(int j=; j<i; j++)
{
if(a[i]>a[j])
{
if(dp[j]+>=dp[i]) /// dp[i]=max(dp[i],dp[j]+1);
dp[i]=dp[j]+,dp[j];
}
len=max(len,dp[i]);
}
}
printf("%d\n",len);
}
return ;
}
代码2:
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<iostream>
using namespace std; int a[],dp[];
int main()
{
int n,len;
while(scanf("%d",&n)==)
{
for(int i=; i<=n; i++)
scanf("%d",a+i);
dp[]=a[];
len=;
for(int i=; i<=n; i++)
if(a[i]>dp[len]) dp[++len]=a[i];
else dp[lower_bound(dp+,dp+len+,a[i])-dp]=a[i];
printf("%d\n",len);
}
return ;
}
poj2533 LIS的更多相关文章
- 【动态规划+二分查找】POJ2533&POJ1631最长上升子序列(LIS)
POJ2533裸的LIS,时间复杂度为O(n^2) #include<iostream> #include<cstdio> using namespace std; +; in ...
- POJ2533:Longest Ordered Subsequence(LIS)
Description A numeric sequence of ai is ordered if a1 < a2 < ... < aN. Let the subsequence ...
- POJ-2533.Longest Ordered Subsequence (LIS模版题)
本题大意:和LIS一样 本题思路:用dp[ i ]保存前 i 个数中的最长递增序列的长度,则可以得出状态转移方程dp[ i ] = max(dp[ j ] + 1)(j < i) 参考代码: # ...
- (线性DP LIS)POJ2533 Longest Ordered Subsequence
Longest Ordered Subsequence Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 66763 Acc ...
- POJ2533(KB12-N LIS)
Longest Ordered Subsequence Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 50827 Acc ...
- POJ2533 Longest Ordered Subsequence —— DP 最长上升子序列(LIS)
题目链接:http://poj.org/problem?id=2533 Longest Ordered Subsequence Time Limit: 2000MS Memory Limit: 6 ...
- 最长上升子序列算法(n^2 及 nlogn) (LIS) POJ2533Longest Ordered Subsequence
问题描述: 一个数的序列bi,当b1 < b2 < ... < bS的时候,我们称这个序列是上升的.对于给定的一个序列(a1, a2, ..., aN),我们可以得到一些上升的子序列 ...
- Lis日常维护
1.[问题]护士站打印LIs条码,出来是PDF格式的 [解决]在文件夹Client\NeusoftLis\Xml\Print.xml中把BarcodePrint Name的值改成安装的斑马打印机名(不 ...
- uva10635 LIS
Prince and PrincessInput: Standard Input Output: Standard Output Time Limit: 3 Seconds In an n x n c ...
随机推荐
- 插头DP专题
建议入门的人先看cd琦的<基于连通性状态压缩的动态规划问题>.事半功倍. 插头DP其实是比较久以前听说的一个东西,当初是水了几道水题,最近打算温习一下,顺便看下能否入门之类. 插头DP建议 ...
- 手把手教你实现折线图之------安卓最好用的图表库hellocharts之最详细的使用介绍
因为项目需要搞一个折线图,按照日期显示相应的成绩,所以有了本文. 以前用过一次XCL-chart,但是感觉只适合固定图表,不去滑动的那种,因为你一滑动太卡了你懂得(毕竟作者好久没更新优化了),拙言大神 ...
- php中文转换编码函数
$filename= $list->filename; // 获取文件名字 if(preg_match("/[\x80-\xff]/",$filename)){ // 如果是 ...
- a标签的妙用-拨打电话、发送短信、发送邮件
前端时间在做手机WAP网站时,遇到需要点击页面上显示的电话号能直接拨号的需求,查找资料发现可以使用html的a标签完美实现该需求!记录下来以备后用...... 目前主流手机浏览器对H5的支持已经很不错 ...
- [Android Pro] Android下toolbox简介
toolbox是Android 自带的提供shell命令的软件.有点类似于busybox,但功能上好像弱很多.其源码可以从Android source code 中system/core/toolbo ...
- webstorm添加vue插件支持
现在已经有vue.js的插件啦,setting --> plugins 就可以咯 ------------------------------------------------ Mac端Web ...
- python基础——使用@property
python基础——使用@property 在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改: s = Student() s.score = 9 ...
- Mysql之高可用
使用缓存Memcache, 1,可使用Hash算法由客户端决定路由到哪个Memcache服务器上:客户端完全不用关心数据存储在哪个Memcache服务器上:完全隔离了客户端与服务端:由于是Hash,在 ...
- JavaWeb学习--Servlet认识
Servlet开发 用户在浏览器中输入一个网址并回车,浏览器会向服务器发送一个HTTP请求.服务器端程序接受这个请求,并对请求进行处理,然后发送一个回应.浏览器收到回应,再把回应的内容显示出来.这种请 ...
- CLR via C#(10)-参数
一. 命名参数.可选参数 命名参数和可选参数是在Visual C#2010中引入的新特性. 笨地儿我个瓜不兮兮的,今天才知道. 可选参数:定义方法时为参数设置默认值,调用该方法时可以省略为某些形参指定 ...