【tyvj】P1049 最长不下降子序列
时间: 1000ms / 空间: 131072KiB / Java类名: Main
描述
求最长不下降子序列的长度
输入格式
第一行为n,表示n个数 第二行n个数
输出格式
最长不下降子序列的长度
测试样例1
输入
3
1 2 3
输出
3
备注
N小于5000
for each num <=maxint
我们弄一个数组f[i]表示前i个数的最长长度,一开始全都置为1是他自己本身。然后先对0~n-1循环。i =0 ~ n-1对于每一个a[i]在他后面的数设为a[j] (j>i)
如果a[j]>a[i]那说明是有可能被算成最长子序列的。
此时对于a[i]而言无非两种情况,一种是跟着j混,一种是不跟。所以f[j]=max(f[i]+1,f[j])
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std; int main()
{
int n,max=;
cin>>n;
int f[],a[];
for (int i=; i<n; ++i)
cin>>a[i]; for (int i=;i<n;++i)
f[i]=;
for (int i=; i<n-; ++i) {
for (int j=i+;j<n;++j)
if (a[j]>=a[i]&&f[i]+>f[j])
f[j]=f[i]+;
}
for (int i=; i<n; ++i)
if (max<f[i])
max=f[i]; cout<<max<<endl;
return ;
}
【tyvj】P1049 最长不下降子序列的更多相关文章
- [TYVJ] P1049 最长不下降子序列
最长不下降子序列 描述 Description 求最长不下降子序列的长度 输入格式 InputFormat 第一行为n,表示n个数第二行n个数 输出格式 OutputFormat 最长不下降子 ...
- tyvj 1049 最长不下降子序列 n^2/nlogn
P1049 最长不下降子序列 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 求最长不下降子序列的长度 输入格式 第一行为n,表示n个数第二行n个数 输出格式 ...
- 最长不下降子序列(LIS)
最长上升子序列.最长不下降子序列,解法差不多,就一点等于不等于的差别,我这里说最长不下降子序列的. 有两种解法. 一种是DP,很容易想到,就这样: REP(i,n) { f[i]=; FOR(j,,i ...
- 最长不下降子序列 O(nlogn) || 记忆化搜索
#include<stdio.h> ] , temp[] ; int n , top ; int binary_search (int x) { ; int last = top ; in ...
- 最长不下降子序列的O(n^2)算法和O(nlogn)算法
一.简单的O(n^2)的算法 很容易想到用动态规划做.设lis[]用于保存第1~i元素元素中最长不下降序列的长度,则lis[i]=max(lis[j])+1,且num[i]>num[j],i&g ...
- 最长不下降子序列//序列dp
最长不下降子序列 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 求最长不下降子序列的长度 输入格式 第一行为n,表示n个数第二行n个数 输出格式 最长不下降 ...
- hdu 4604 Deque(最长不下降子序列)
从后向前对已搜点做两遍LIS(最长不下降子序列),分别求出已搜点的最长递增.递减子序列长度.这样一直搜到第一个点,就得到了整个序列的最长递增.递减子序列的长度,即最长递减子序列在前,最长递增子序列在后 ...
- 最长不下降子序列nlogn算法详解
今天花了很长时间终于弄懂了这个算法……毕竟找一个好的讲解真的太难了,所以励志我要自己写一个好的讲解QAQ 这篇文章是在懂了这个问题n^2解决方案的基础上学习. 解决的问题:给定一个序列,求最长不下降子 ...
- SPOJ 4053 - Card Sorting 最长不下降子序列
我们的男主现在手中有n*c张牌,其中有c(<=4)种颜色,每种颜色有n(<=100)张,现在他要排序,首先把相同的颜色的牌放在一起,颜色相同的按照序号从小到大排序.现在他想要让牌的移动次数 ...
随机推荐
- zip生成
生成zip文件官方网站:http://www.phpconcept.net/pclzip/ 用法一: 1 <?php 2 include_once('pclzip.lib.php'); ...
- js各类共用方法
function GetParameterValueByName(parametername) { var reg = new RegExp("(^|&)" + param ...
- SSL handshake failed: SSL 错误:在证书中检测到违规的密钥用法。
问题:在WINDOWS中创建的SVN Server,在Linux client中无法连接.原因:WINDOWS中的证书无法被Linux正确识别,因此需要修改证书,以使双方都可以正确识别. 修改方法如下 ...
- wpf MVVM ViewModel 关闭View显示
上次说到了不同wpf窗体之间的交互,这个在MVVM模式之中用起来会方便很多 下面我来说下在ViewModel中关闭View的方法,其实也很简单的,注释照样不写,一看就懂的 public partial ...
- Cisco IOS Basic CLI Configuration:Access Security 01
1. Telnet Switch Config: Switch>en Switch#conf t Enter configuration commands, one per line. En ...
- Python之回调魔法
Python中魔法(前后又下划线)会在对象的生命周期被回调. 借助这种回调, 可以实现AOP或者拦截器的思想. 在Python语言中提供了类似于C++的运算符重在功能:一下为Python运算符重在调用 ...
- 【jquery】javaScript中prototype的妙用 巧妙运用prototype属性原型链创建对象
prototype 可以有好多有优化实现方法 http://blog.csdn.net/liuqiwen0512/article/details/8089690 在 JavaScript 中,每个函 ...
- mysql绿色版安装问题解决(ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061))
原来一直是使用MySQL安装版没有出现过问题,今天在安装绿色版MySQL时出现了点问题 在安装成windows服务成功后,用net start mysql 启动时提示启动成功,但当我连接mysql就报 ...
- matlab实现不动点迭代、牛顿法、割线法
不动点迭代 function xc = fpi( g, x0, tol ) x(1) = x0; i = 1; while 1 x(i + 1) = g(x(i)); if(abs(x(i+1) - ...
- java使用.net的webservice
1.下载最新的axis2 http://mirrors.hust.edu.cn/apache//axis/axis2/java/core/1.6.3/axis2-1.6.3-bin.zip 2.解压使 ...