当前位置:网站首页>Longest ascending subsequence model acwing 482. Chorus formation
Longest ascending subsequence model acwing 482. Chorus formation
2022-07-27 11:13:00 【T_ Y_ F666】
Longest ascending subsequence model AcWing 482. Chorus formation
Original link
Algorithm tags
DP linear DP Longest ascending subsequence
Ideas
Ask for i Ending ascending sequence , With i The reverse rising at the end is the descending sequence , Get to i It is a sequence in which the dividing point rises first and then falls , Taking the maximum , Reduce the total by the maximum .
Code
#include<bits/stdc++.h>
#define int long long
#define rep(i, a, b) for(int i=a;i<b;++i)
#define Rep(i, a, b) for(int i=a;i>=b;--i)
using namespace std;
const int N = 1005, INF = 0x3f3f3f3f;
int f[N], f1[N], a[N];
inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
void put(int x) {
if(x<0) putchar('-'),x=-x;
if(x>=10) put(x/10);
putchar(x%10^48);
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n=read();
rep(i, 1, n+1){
a[i]=read();
}
int ans=0, ans1=0, ans2=0;
// With i Ending ascending sequence
rep(i, 1, n+1){
f[i]=1;
rep(j, 1, i){
if(a[j]<a[i]){
f[i]=max(f[i], f[j]+1);
}
}
ans1=max(ans1, f[i]);
}
// With i The reverse rising at the end is the descending sequence
Rep(i, n, 0){
f1[i]=1;
Rep(j, n, i+1){
if(a[j]<a[i]){
f1[i]=max(f1[i], f1[j]+1);
}
}
ans2=max(ans2, f1[i]);
}
// Go up first Post descent sequence
rep(i, 1, n+1){
ans=max(ans, (f[i]+f1[i]-1));
}
printf("%lld\n", n-ans);
}
And y The general code is consistent
y Master code
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 1010;
int n;
int h[N];
int f[N], g[N];
int main()
{
scanf("%d", &n);
for (int i = 0; i < n; i ++ ) scanf("%d", &h[i]);
for (int i = 0; i < n; i ++ )
{
f[i] = 1;
for (int j = 0; j < i; j ++ )
if (h[i] > h[j])
f[i] = max(f[i], f[j] + 1);
}
for (int i = n - 1; i >= 0; i -- )
{
g[i] = 1;
for (int j = n - 1; j > i; j -- )
if (h[i] > h[j])
g[i] = max(g[i], g[j] + 1);
}
int res = 0;
for (int i = 0; i < n; i ++ ) res = max(res, f[i] + g[i] - 1);
printf("%d\n", n - res);
return 0;
}
Originality is not easy.
Reprint please indicate the source
If it helps you Don't forget to praise and support 
边栏推荐
- Redis+caffeine two-level cache enables smooth access speed
- Thank you for your likes and attention
- Play with the cluster configuration center and learn about the Taier console
- Research on synaesthesia integration and its challenges
- Sort th in antd table to prevent hovering color change +table hovering row color change +table header color change
- 解决 ImportError: cannot import name 'abs' 导入tensorflow报错
- Learning notes uni app
- Substr and substring function usage in SQL
- How to create a.Net image with diagnostic tools
- antd table中排序th阻止悬停变色+table悬停行变色+table表头变色
猜你喜欢

最短移动距离和形态复合体的熵

A verification test of the relationship between iteration number and entropy

49字母异位分组和242有效的字母异位词

IMG SRC is empty or SRC does not exist, and the picture has a white border

Cancer DDD

Yonbuilder enables innovation, and the "golden keyboard Award" of the fourth UFIDA developer competition is open!

Derivation of the detailed expansion sto overlap integrals

BeautifulSoup的使用

Based on the open source stream batch integrated data synchronization engine Chunjun data restore DDL parsing module actual combat sharing

Non progressive phenomena of entropy and morphology
随机推荐
How to modify the strict mode under MySQL so that adding new users by inserting user table is successful
最长上升子序列模型 AcWing 1010. 拦截导弹
IO流_数据输入输出流的概述和讲解
A verification test of the relationship between iteration number and entropy
背包模型 AcWing 1022. 宠物小精灵之收服
泰山OFFICE技术讲座:缩放比例与打开文件
IO流_字符流、IO流小结、IO流案例总结
Redis high availability principle
学习笔记-uni-app
15th largest value of data flow
Time and power allocation method to ensure fairness in sensor fusion system
Influence of black and white pixel distribution on iteration times
Error: image clipToBoundsAndScale, argument 'input'
Chunjun supports DDL conversion and automatic execution of heterogeneous data sources - dtmo 02 review (including course playback + courseware)
ACM warm-up Exercise 2 in 2022 summer vacation (summary)
antd table+checkbox 默认值显示
推导STO双中心动能积分的详细展开式
Description and feelings
A measurement method of 5g air interface one-way delay and its reliability
Thank you for your likes and attention