NEFU OJ21最长上升子序列
来源:互联网 发布:淘宝打印电子面单 编辑:程序博客网 时间:2024/06/01 23:36
仍然用dp,因为最长上升字序列是最优问题,而且保证最优解由最优子解构成
数组为a[n],解为dp[n]
dp[i]表示以a[i]结尾的最长上升子序列长度
i的范围:[0-j),如果a[j] > a[i],则存在上升子序列dp[i] +1,求最长则得d[j]。
注意不一定dp[n-1]是最长的,所以还要求d[n]中最大值。
#include<iostream> #include<stdio.h> using namespace std; int a[1000];int dp[1000];int main() { int n,max;while(scanf("%d",&n) != EOF && n!=0 ){max = 1;for(int i=0;i<n;++i){scanf("%d",&a[i]);}for(int i=0;i<n;++i){dp[i] = 1;}for(int i =1;i<n;++i){for(int j =0;j<i;++j){if(a[i] > a[j]){if(dp[i] < dp[j]+1){dp[i] = dp[j]+1;if(max < dp[i])max = dp[i];}}}}printf("%d\n",max);} return 0; }
0 0
- NEFU OJ21最长上升子序列
- nefu 21最长上升子序列
- dp入门---最长上升子序列--nefu 21
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- 最长上升子序列
- ArcEngine 拓扑中 数据锁的使用
- js 创建对象、属性、方法
- 关于新浪短链接多个参数问题
- 单片机--界面
- linux 下QT 安装
- NEFU OJ21最长上升子序列
- android CoordinatorLayout使用
- 编程技巧两则:7zip的pax headers和iOS的multiple files upload问题
- 使用MQTT实现Android推送功能(Android+PHP+rsmb)
- Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled 独家解决!
- Android开发学习笔记:Intent的简介以及属性的详解
- Solr配置文件schema.xml和solrconfig.xml分析
- MySQL索引背后的数据结构及算法原理
- 一位资深程序员大牛给予Java初学者的学习路线建议