博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1091 合唱队形(最长上升子序列模板)
阅读量:5840 次
发布时间:2019-06-18

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

这里写图片描述

问题转化为:枚举中间点,以此为终点求最长的上升子序列,以此为起点求最长下降子序列。

#include
#include
using namespace std;int q[110],fq[110],fh[110],n,ans=500;int main(){ int maxn=0; scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&q[i]); fq[i]=1,fh[i]=1; } for(int i=2;i<=n;i++)//最长上升子序列 { maxn=0; for(int j=1;j<=i-1;j++) { if(q[i]>q[j]&&fq[j]>maxn) maxn=fq[j]; } fq[i]+=maxn; } for(int i=n-1;i>=1;i--)//最长下降子序列 { maxn=0; for(int j=n;j>=i+1;j--) { if(q[j]
maxn) maxn=fh[j]; } fh[i]+=maxn; } for(int i=1;i<=n;i++) { ans=min(ans,n-fq[i]-fh[i]+1); } printf("%d",ans); return 0;}

转载于:https://www.cnblogs.com/dfsac/p/7587934.html

你可能感兴趣的文章
react中将px转化为rem或者vw
查看>>
8816
查看>>
avcodec_open2()分析
查看>>
何如获取单选框中某一个选中的值
查看>>
paip.输入法编程----删除双字词简拼
查看>>
QQ悬浮返回顶部
查看>>
MySQL建表语句的一些特殊字段
查看>>
《Unix环境高级编程》读书笔记 第8章-进程控制
查看>>
腾讯前端二面题目详解
查看>>
mascara-1
查看>>
Jquery Form表单取值
查看>>
Android API level 与version对应关系
查看>>
Team Name
查看>>
String类
查看>>
西门子_TDC_数据耦合小经验
查看>>
接口测试与postman
查看>>
LINQ To XML的一些方法
查看>>
[LeetCode] Copy List with Random Pointer
查看>>
openstack部署之nova
查看>>
JS组件系列——表格组件神器:bootstrap table
查看>>