当前位置:网站首页>The longest ascending subsequence model acwing 482 Chorus formation
The longest ascending subsequence model acwing 482 Chorus formation
2022-07-07 14: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
边栏推荐
- 数据流图,数据字典
- 请问,PTS对数据库压测有好方案么?
- Advanced Mathematics - Chapter 8 differential calculus of multivariate functions 1
- Attribute keywords aliases, calculated, cardinality, ClientName
- 股票开户首选,炒股交易开户佣金最低网上开户安全吗
- UML 状态图
- 请问,redis没有消费消息,都在redis里堆着是怎么回事?用的是cerely 。
- call undefined function openssl_cipher_iv_length
- Wired network IP address of VMware shared host
- Details of redis core data structure & new features of redis 6
猜你喜欢
[Reading stereo matching papers] [III] ints
Advanced Mathematics - Chapter 8 differential calculus of multivariate functions 1
最长上升子序列模型 AcWing 1014. 登山
最长上升子序列模型 AcWing 1012. 友好城市
Dry goods | summarize the linkage use of those vulnerability tools
UML sequence diagram (sequence diagram)
AutoCAD - how to input angle dimensions and CAD diameter symbols greater than 180 degrees?
. Net core about redis pipeline and transactions
Reverse non return to zero code, Manchester code and differential Manchester code of common digital signal coding
libSGM的horizontal_path_aggregation程序解读
随机推荐
Regular expression integer positive integer some basic expressions
Vmware共享主机的有线网络IP地址
交换机和路由器的异同
ndk初学习(一)
Csma/cd carrier monitoring multipoint access / collision detection protocol
高等數學---第八章多元函數微分學1
数据库系统概论-第一章绪论【概念模型、层次模型和三级模式(外模式、模式、内模式)】
2022-7-6 beginner redis (I) download, install and run redis under Linux
WPF DataGrid realizes the UI interface to respond to a data change in a single line
请问指南针股票软件可靠吗?交易股票安全吗?
Clickhouse (03) how to install and deploy Clickhouse
Laravel5 call to undefined function openssl cipher iv length() 报错 PHP7开启OpenSSL扩展失败
Hands on Teaching: XML modeling
PHP中用下划线开头的变量含义
ES日志报错赏析-Limit of total fields
Use day JS let time (displayed as minutes, hours, days, months, and so on)
【日常训练】648. 单词替换
Is the spare money in your hand better to fry stocks or buy financial products?
[daily training -- Tencent select 50] 231 Power of 2
请问,我kafka 3个分区,flinksql 任务中 写了 join操作,,我怎么单独给join