当前位置:网站首页>Longest ascending subsequence model acwing 1014. mountaineering
Longest ascending subsequence model acwing 1014. mountaineering
2022-07-27 11:13:00 【T_ Y_ F666】
Longest ascending subsequence model AcWing 1014. Mountaineering
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 , With i It is a sequence in which the dividing point rises first and then falls , Find 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", max({ans, ans1, ans2}));
}
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", res);
return 0;
}
Originality is not easy.
Reprint please indicate the source
If it helps you Don't forget to praise and support 
边栏推荐
- IO流_字符流、IO流小结、IO流案例总结
- Self optimization of wireless cell load balancing based on machine learning technology
- The largest square of leetcode (violence solving and dynamic programming solving)
- Shock simulation of engine mounting system transient modal dynamic analysis and response spectrum analysis
- Data assets are king. How to analyze the relationship between enterprise digital transformation and data asset management?
- 11 wrong set
- Thank you for your likes and attention
- 背包模型 AcWing 423. 采药
- IO流_数据输入输出流的概述和讲解
- The open source project Taier version 1.1 was officially released, and the list of new functions is fast
猜你喜欢
![Take you hand-in-hand to develop a complete classic game [Tetris] from scratch, with less than 200 lines of logic.](/img/7f/f42f9267cdff35522c260ef073bab9.png)
Take you hand-in-hand to develop a complete classic game [Tetris] from scratch, with less than 200 lines of logic.

How to build a data index system is the most effective. From 0 to 1, we will take you a quick start - 02 live review

XXX packages are looking for funding run 'NPM fund' for details solutions

计算重叠积分的第二种方法

背包模型 AcWing 1022. 宠物小精灵之收服

Knapsack model acwing 423. Picking herbs

What is the mystery of the gate of the meta universe?

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

How to assemble a registry

Data assets are king. How to analyze the relationship between enterprise digital transformation and data asset management?
随机推荐
Non progressive phenomena of entropy and morphology
Overview of radar communication integrated waveform design
Use of pyquery
Shortest moving distance and entropy of morphological complex
如何创建一个带诊断工具的.NET镜像
ACM warm-up Exercise 2 in 2022 summer vacation (summary)
Description and feelings
十年架构五年生活-07 年轻气盛的蜕变
Study notes Minio
发动机悬置系统冲击仿真-瞬时模态动态分析与响应谱分析
洛谷P1896 互不侵犯
6 find the smallest letter larger than the target letter
ACM warm-up Exercise 1 in 2022 summer vacation (summary)
Error: image clipToBoundsAndScale, argument 'input'
泰山OFFICE技术讲座:缩放比例与打开文件
How to build a real-time development platform to deeply release the value of enterprise real-time data?
349两个数组的交集和01两数之和
Local and overall differences between emergence and morphology
Learning notes - simple server implementation
KEPServer配置