POJ 2533-Longest Ordered Subsequence(DP)

POJ 2533-Longest Ordered Subsequence(DP)

大家好,又见面了,我是全栈君。

Longest Ordered Subsequence
Time Limit: 2000MS   Memory Limit: 65536K
Total Submissions: 34454   Accepted: 15135

Description

A numeric sequence of 
ai is ordered if 
a1 < 
a2 < … < 
aN. Let the subsequence of the given numeric sequence (
a1, 
a2, …, 
aN) be any sequence (
ai1, 
ai2, …, 
aiK), where 1 <= 
i1 < 
i2 < … < 
iK <= 
N. For example, sequence (1, 7, 3, 5, 9, 4, 8) has ordered subsequences, e. g., (1, 7), (3, 4, 8) and many others. All longest ordered subsequences are of length 4, e. g., (1, 3, 5, 8).

Your program, when given the numeric sequence, must find the length of its longest ordered subsequence.

Input

The first line of input file contains the length of sequence N. The second line contains the elements of sequence – N integers in the range from 0 to 10000 each, separated by spaces. 1 <= N <= 1000

Output

Output file must contain a single integer – the length of the longest ordered subsequence of the given sequence.

Sample Input

7
1 7 3 5 9 4 8

Sample Output

4
最长上升子序列。

。orz 傻逼竟然直接把dp[n]输出了 后来wa了一时还没反应过来。。

dp[i]代表以i为结尾的最长上升子序列的长度,but dp[n]不一定最长。。事实上整个dp数组就是无序的了。

。

能够sort后输出

O(n*n)渣比写法
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <string>
#include <cctype>
#include <vector>
#include <cstdio>
#include <cmath>
#include <queue>
#include <stack>
#include <map>
#include <set>
#define ll long long
#define maxn 1010
#define pp pair<int,int>
#define INF 0x3f3f3f3f
#define max(x,y) ( ((x) > (y)) ?

(x) : (y) )#define min(x,y) ( ((x) > (y)) ? (y) : (x) )using namespace std;int n,dp[maxn],a[maxn];void solve(){ for(int i=2;i<=n;i++) for(int j=1;j<i;j++) if(a[i]>a[j]&&dp[i]<=dp[j]) dp[i]=dp[j]+1; sort(dp+1,dp+n+1); printf("%d\n",dp[n]);}int main(){ while(~scanf("%d",&n)) { for(int i=1;i<=n;i++) { dp[i]=1; scanf("%d",&a[i]); } solve(); } return 0;}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116655.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • robots.txt文件的作用

    robots.txt文件的作用Robots.txt文件的作用:1、屏蔽网站内的死链接。2、屏蔽搜索引擎蜘蛛抓取站点内重复内容和页面。3、阻止搜索引擎索引网站隐私性的内容。因此建立robots.txt文件是很有必要的,网站中重复的内容、页面或者404信息过多,搜索引擎蜘蛛就会认为该网站价值较低,从而降低对该网站的“印象分”,这就是我们经常听到的“降低权重”,这样网站的排名就不好了。robo

    2022年5月8日
  • 跨境上网_数据跨境传输

    跨境上网_数据跨境传输多粒度网络(MGN)的结构设计与技术实现云从科技多粒度网络公开介绍:(一)多粒度网络(MGN)设计思路。设计思想是这样子的,一开始是全局特征,把整张图片输入,我们提取它的特征,用这种特征比较Loss或比较图片距离。但这时我们发现有一些不显著的细节,还有出现频率比较低的特征会被忽略。比如衣服上有个LOGO,但不是所有衣服上有LOGO,只有部分人衣服上有LOGO。全局特…

    2022年10月6日
  • 中国博士为什么会没有尊严

    最近经常看到一些博士在网上诉苦,感叹自己寒窗苦读了半辈子的说,依然没有能够摆脱贫困,还不如早年进城打工的放牛娃,甚至出现了考研考博不如读技校的说法。中国的博士到底是怎么啦,为什么都这么没有尊严的呢?

    2022年4月12日
  • pytest 执行用例_测试用例执行结果有哪些

    pytest 执行用例_测试用例执行结果有哪些前言平常我们功能测试用例非常多时,比如有1千条用例,假设每个用例执行需要1分钟,如果单个测试人员执行需要1000分钟才能跑完当项目非常紧急时,会需要协调多个测试资源来把任务分成两部分,于是执行时间

    2022年7月30日
  • git安装教程 windows10_灯保姆安装公司

    git安装教程 windows10_灯保姆安装公司git安装与使用的保姆级教程,图文齐全,一步一步教,小白看了都说好~,安装、使用、创建仓库、同步代码、检查代码、创建分支、合并主分支等等…

    2022年9月3日
  • 代价函数 cost function

    代价函数 cost function代价函数在监督学习的回归问题中,代价函数就是用于找到最优解的目的函数,反应了预测函数的准确性。代价函数的值越小,说明在回归问题的中,计算机程序对数据拟合的越好。也就是假设函数越正确。比如,对于这个假设函数(可以看成是求房价的假设函数):代价函数是:也就是预测值与真实值的差的平方和,再除以2m(2倍样本数量)。在假设函数中:θ0和θ1两个参数,不同的参数会有不同的假设函数如下图

    2022年6月6日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号