博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法:最长上升下降子序列
阅读量:7098 次
发布时间:2019-06-28

本文共 583 字,大约阅读时间需要 1 分钟。

问题

给定n个数,从中拿走x(x>=0)个数。使剩下的数最有下列性质。

A1 < A2 < A3 <…At > At+1 >At+2 > … > As
问最少要抽掉几个数。此数列才会具有以上性质。

图解

代码

#include "stdafx.h"const int MAX=105;int down[MAX],up[MAX];int h[MAX],n;void get_up(){	int i,tmp,j;	for(i=0;i
=0;j--) { if(h[i]>h[j]&&up[j]+1>tmp) tmp=up[j]+1; } up[i]=tmp; }}void get_down(){ int i,j,tmp; for(i=n-1;i>=0;i--) { tmp=1; for(j=i+1;j
h[j]&&down[j]+1>tmp) tmp=down[j]+1; } down[i]=tmp; }}int main(){ int i,max; while(scanf("%d",&n)!=EOF){ for(i=0;i
max) max=up[i]+down[i]-1; } printf("%d\n",n-max); } return 0;}

你可能感兴趣的文章
解决mysql 主从数据库同步不一致的方法
查看>>
字符编码笔记:ASCII,Unicode 和 UTF-8
查看>>
Stack
查看>>
[BZOJ3631][JLOI2014]松鼠的新家(树链剖分)
查看>>
libgdx游戏引擎开发笔记(四)文字显示BitmapFont
查看>>
JavaScript和Webservice实现联动
查看>>
CSC
查看>>
pycharm 配置 anaconda ,以及anaconda的使用
查看>>
终端命令和环境变量
查看>>
Android 如何从系统图库中选择图片
查看>>
Tomcat容器,Servlet容器,Spring容器的包含关系
查看>>
java----数据结构与算法----JavaAPI:java.util.LinkedList、ArrayList、Vector/Stack
查看>>
九章算法系列(#4 Dynamic Programming)-课堂笔记
查看>>
3月18日 全部练习题(二)
查看>>
Java synchronized详解
查看>>
Frameset使用教程
查看>>
局域网与internet
查看>>
request
查看>>
Beyond Compare乱码问题汇总
查看>>
线程和线程池
查看>>