Background

Special for beginners, ^_^

Description

设有由 nn 个不相同的整数组成的数列,记为:b_1,b_2,\dots,b_nb1,b2,…,bn 且 b_i\neq b_j (i\neq j)bi=bj(i=j),若存在 i_1<i_2<i_3<\dots < i_ei1<i2<i3<⋯<ie 且有 b_{i_1}<b_{i_2}<\dots <b_{i_e}bi1<bi2<⋯<bie 则称为长度为 ee 的不下降序列。

当原数列出之后,求出最长的不下降序列。

例如 13,7,9,16,38,24,37,18,44,19,21,22,63,15。

例中 13,16,18,19,21,22,63 就是一个长度为 7 的不下降序列,同时也有 7,9,16,18,19,21,22,63 长度为 8 的不下降序列。

Format

Input

输入一行若干个整数,个数小于 100,取值小于 50000。

Output

输出两行。

第一行输出一个整数 e。

第二行输出 e 个整数,为最长不下降序列。

Samples

输入数据 1

300 250 275 252 200 138 245

Copy

输出数据 1

2
250 275 

Copy

Limitation

1s, 1024KiB for each test case.

/*
这是暴戾做法,时间较慢
#include <bits/stdc++.h>
using namespace std;const int N=107;int b[N][5];int main(){int n=0;int l,k;while(cin>>b[++n][1]){b[n][2]=1;b[n][3]=0;}n--;for(int i=1;i<=n;i++){cin>>b[i][1];b[i][2]=1;b[i][3]=0;}for(int i=n-1;i>=1;i--){l=0;k=0;for(int j=i+1;j<=n;j++){if((b[j][1]>b[i][1])&&(b[j][2]>l)){l=b[j][2];k=j;}if(l>0){b[i][2]=l+1;b[i][3]=k;}}}k=1;for(int j=1;j<=n;j++){if(b[j][2]>b[k][2])k=j;}cout<<b[k][2]<<endl;while(k){cout<<b[k][1]<<" ";k=b[k][3];}return 0;
}
下面是动态规划,比较快
*/
#include<iostream>
using namespace std;const int N=1007;int dp[N];int a[N];int num[N];int h,d,c;int w=1;int MXN;void print(int a){if(!dp[a])return;print(dp[a]);cout<<num[a]<<" ";
}int main() {while(cin>>num[++h]);for(int i=1;i<=h;++i){a[i]=1;MXN=0;for(int j=1;j<i;++j){if(a[j]>MXN&&num[j]<num[i]) {MXN=a[j];a[i]=a[j]+1;c=j;}}dp[i]=c;if(a[i]>d){d=a[i];w=i;}}cout<<d<<endl;print(w);return 0;
}

#546. 最长不下降序列(LIS)相关推荐

  1. 【动态规划】求最长不下降序列

    求最长不下降序列求最长不下降序列求最长不下降序列 Description 设有n(n<=1000)个不相同的整数(小于32767)组成的数列,记为: a1,a2,-,an,其中任意两个数不相同. ...

  2. 1259:【例9.3】求最长不下降序列

    http://ybt.ssoier.cn:8088/problem_show.php?pid=1259 /* [例3]求最长不下降序列03_AC 1259:[例9.3]求最长不下降序列 http:// ...

  3. 信息学奥赛一本通(1259:【例9.3】求最长不下降序列)

    1259:[例9.3]求最长不下降序列 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 22932     通过数: 8116     Special Judge ...

  4. 求最长不下降序列(信息学奥赛一本通-T1259)

    [题目描述] 设有由n(1≤n≤200)个不相同的整数组成的数列,记为:b(1).b(2).--.b(n)且b(i)≠b(j)(i≠j),若存在i1<i2<i3<-<ie 且有 ...

  5. 求最长不下降序列:逆推法

    题意 当原始数列给出后,求出最长的不下降数列的长度. 分析 f[i]表示第i数为起点到第n个数的最长不下降长度(倒推法). F[i]= max{1, F[j] + 1} (j = i+1-n, 且A[ ...

  6. BZOJ 1852 [MexicoOI06]最长不下降序列(贪心+DP+线段树+离散化)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1852 [题目大意] 给你N对数A1,B1--An,Bn.要求你从中找出最多的对, 把它 ...

  7. 最长不下降子序列的O(n^2)算法和O(nlogn)算法

    转帖 最长不下降子序列的O(n^2)算法和O(nlogn)算法 最长不下降子序列(LIS:Longest Increasing Subsequence) //用句通俗的话说,我讲的很通俗易懂~~ 问题 ...

  8. Vijous系列(1)LIS 最长不下降子序列的应用

    1.P1028魔族密码 :https://vijos.org/p/1028 分析:最长不下降子序列的变形, 把数字类比成前缀问题 #include <cstdio> #include &l ...

  9. 求序列最长不下降子序列_最长不下降子序列nlogn算法详解

    今天花了很长时间终于弄懂了这个算法--毕竟找一个好的讲解真的太难了,所以励志我要自己写一个好的讲解QAQ 这篇文章是在懂了这个问题n^2解决方案的基础上学习. 解决的问题:给定一个序列,求最长不下降子 ...

最新文章

  1. 上海.NET技术交流会
  2. jQuery 轮播图
  3. Windows安装TensorFlow
  4. android 模拟飞行,安卓版模拟飞行 X Plane 9试玩
  5. 【干货下载】大数据分析的四个关键环节
  6. JAVA正则表达式实例教程(转帖收藏)
  7. 后台服务系统之Dubbo协议
  8. Mock server的实现 - run Fiori application using mock data in offline mode
  9. linux i2c编程
  10. maven配置(myeclipse版)
  11. 如何打开浏览器的TLS 1.1 TLS 1.2支持
  12. SQL Server 复制, 集群
  13. Laravel 结合TCPDF生成PDF
  14. VOB视频格式转换器怎么把vob转换为mp3
  15. android自定义控件(星级评分)
  16. 阿里云天池龙珠计划 sql篇---stack06
  17. Ant design pro入坑指南
  18. 【考研英语-基础-长难句】复合句_定语从句【先行词 关系词】【限定_非限定性定语从句】层层递进关系
  19. 通过icon hash查IP地址
  20. 我可以用计算机做图吗,【我用Word和excel画图分别怎么制作】电脑excle怎样制作画图...

热门文章

  1. CTF easy_maze 一道简单的迷宫题。
  2. 欢聚时代java面试面经_欢聚时代(YY)校园招聘一面面经-java开发工程师
  3. APM中电机输出分析
  4. Plato Farm在Elephant Swap上铸造的ePLATO是什么?为何具备高溢价?
  5. 应届生就业难吗-誉天红帽RCHE学员就业分享
  6. Java面试宝典!java语言程序设计教程魏永红
  7. Camtasia Studio2023最新版喀秋莎电脑录制屏幕编辑器
  8. SetCapture ReleaseCapture
  9. 永磁同步电机——矢量控制(基于PI调节器)
  10. 【Marvelous Designer】布料预设汉化+布料模拟流程