最长上升子序列
来源:互联网 发布:虚幻4 编程语言 编辑:程序博客网 时间:2024/06/05 08:01
Problem Description
一个数的序列bi,当b1 < b2 < ... < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, ..., aN),我们可以得到一些上升的子序列(ai1, ai2, ..., aiK),这里1<= i1 < i2 < ... < iK <= N。比如,对于序列(1, 7, 3, 5, 9, 4, 8),有它的一些上升子序列,如(1, 7), (3, 4, 8)等等。这些子序列中最长的长度是4,比如子序列(1, 3, 5, 8)。
你的任务,就是对于给定的序列,求出最长上升子序列的长度。
你的任务,就是对于给定的序列,求出最长上升子序列的长度。
Input
输入的第一行是序列的长度N (1 <= N <= 1000)。第二行给出序列中的N个整数,这些整数的取值范围都在0到10000。
Output
最长上升子序列的长度。
Example Input
71 7 3 5 9 4 8
Example Output
4
#include<stdio.h>int main(){ int n; int i,j; int k,m; int a[1000]={0}; int max[1000]={0}; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); } max[0]=1; for(i=1;i<n;i++) { k=0; for(j=0;j<i;j++) { if(a[i]>a[ j]&&max[ j]>k) { k=max[j]; } } max[i]=k+1; } m=max[0]; for(i=1;i<n;i++) { if(m<max[i]) m=max[i]; } printf("%d",m); return 0;}
0 0
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 如何终止JS继续运行??
- Java内部类详解
- WIFI
- 引用外部css和js
- 基于二分查找的抽签游戏算法的优化
- 最长上升子序列
- c++程序真正入口函数
- 说说关于PHP的一些事
- Rancher event机制及其实践指南
- 【IAP支付之三】苹果IAP安全支付与防范 receipt收据验证
- SPOJ 8222 NSUBSTR - Substrings (后缀自动机)
- c语言试题整理(如有错误还望指正)
- ActiveMQ(二)———使用Topic来发送消息
- const的使用