合唱队形(DP)
2024-08-27 10:56:47
这道题目就是裸的DP题,
我们所需要得到的是一个倒V形的数列
即一个上升子序列与下降子序列的合体。。
所以我们只需要做一遍从1到n的最长上升子序列和从n到1的最长上升子序列即可
时间复杂度O(n^2)
下面贴代码
#include<cstdio>
#define MN 101
#define max(a,b) (a)>(b)?(a):(b)
using namespace std;
int num[MN],ss[MN],xj[MN];
int n,ans;
int main(){
scanf("%d",&n);
for(int i=;i<=n;i++)scanf("%d",&num[i]);
ss[]=xj[n]=;
for(int i=;i<=n;i++)
{
ss[i]=;
for(int j=;j<i;j++)
if(num[j]<num[i])ss[i]=max(ss[i],ss[j]+);
}
for(int i=n-;i>=;i--)
{
xj[i]=;
for(int j=i+;j<=n;j++)
if(num[j]<num[i])xj[i]=max(xj[i],xj[j]+);
}
for(int i=;i<=n;i++)ans=max(ans,ss[i]+xj[i]-);
printf("%d\n",n-ans);
return ;
}
最新文章
- Myeclipse8.5 反编译插件 jad 安装
- 如何在高并发分布式系统中生成全局唯一Id(转)
- DCPcrypt
- Spring MVC @RequestMapping Annotation Example with Controller, Methods, Headers, Params, @RequestParam, @PathVariable--转载
- Cloudcraft: 云架构图形可视化(智能AWS图表)
- 【转】Spring的WebServiceTemplate访问WebService的方法及其本质原理
- 组策略彻底解决windows 2003 终端数
- Gradle Android客户端程序打包(基于gradle 1.12版本验证通过)
- 用bat启动sqlserver服务
- Linux系统编程:dup2()重定向
- php中header函数参数的 Cache-control:private,no-cache,must-revalidate,max-age 使用方法
- 基于hi-nginx的web开发(python篇)——路由装饰器
- OOP的基本原则
- https://oi-wiki.org/
- 11_ for 练习 _ Math.sqrt
- angular中因异步问题产生的错误解决方法
- Aizu2170 Marked Ancestor(并查集)
- 【LG3768】简单的数学题
- day16作业
- UIProgressView 详解