OpenJ_Bailian - 2995-登山(两遍最长上升子序列+枚举顶点)
五一到了,PKU-ACM队组织大家去登山观光,队员们发现山上一个有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览景点的编号都要大于前一个浏览景点的编号。同时队员们还有另一个登山习惯,就是不连续浏览海拔相同的两个景点,并且一旦开始下山,就不再向上走了。队员们希望在满足上面条件的同时,尽可能多的浏览景点,你能帮他们找出最多可能浏览的景点数么?
InputLine 1: N (2 <= N <= 1000) 景点数
Line 2: N个整数,每个景点的海拔Output最多能浏览的景点数Sample Input
8
186 186 150 200 160 130 197 220
Sample Output
4 代码:
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<queue>
#include<stack>
#include<set>
#include<map>
#include<vector>
#include<cmath>
const int maxn=1e4+;
typedef long long ll;
using namespace std;
int a[maxn];
int dp1[maxn],dp2[maxn];
int main()
{
int n; cin>>n;
for(int t=;t<=n;t++)
{
scanf("%d",&a[t]);
}
for(int t=;t<=n;t++)
{
dp1[t]=;
dp2[t]=;
}
for(int t=;t<=n;t++)
{
for(int j=;j<t;j++)
{
if(a[t]>a[j])
dp1[t]=max(dp1[t],dp1[j]+);
}
}
for(int t=n;t>;t--)
{
for(int j=n;j>t;j--)
{
if(a[t]>a[j])
dp2[t]=max(dp2[t],dp2[j]+);
}
}
int ans=-;
for(int t=;t<=n;t++)
{
ans=max(dp1[t]+dp2[t]-,ans);
}
cout<<ans<<endl;
return ;
} //java
import java.util.Scanner; public class Main { public static void main(String[] args) {
// TODO 自动生成的方法存根 int[] a= new int[];
int[] b= new int[];
int[] dp1=new int[];
int[] dp2=new int[];
Scanner sc=new Scanner(System.in);
int N=sc.nextInt();
for(int t=;t<=N;t++)
{
a[t]=sc.nextInt();
}
for(int t=;t<=N;t++)
{
b[N-t+]=a[t];
}
for(int t=;t<=N;t++)
{
dp1[t]=;
dp2[t]=;
}
for(int t=;t<=N;t++)
{
for(int j=;j<t;j++)
{
if(a[t]>a[j])
{
dp1[t]=max(dp1[t],dp1[j]+);
}
}
}
for(int t=;t<=N;t++)
{ for(int j=;j<t;j++)
{
if(b[t]>b[j])
{
dp2[t]=max(dp2[t],dp2[j]+);
}
}
}
int ans=;
for(int t=;t<=N;t++)
{
ans=max(dp1[t]+dp2[N-t+]-,ans); }
System.out.println(ans);
sc.close(); } private static int max(int i, int j) {
// TODO 自动生成的方法存根
if(i>j)
return i;
else
return j;
} }
OpenJ_Bailian - 2995-登山(两遍最长上升子序列+枚举顶点)的更多相关文章
- hdu 4681 最长公共子序列+枚举
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4681 #include<cstdio> #include<cstring> # ...
- HDU 3998 Sequence (最长上升子序列+最大流)
参考链接:http://www.cnblogs.com/gentleh/archive/2013/03/30/2989958.html 题意:求一个序列的最长上升子序列,及其个数(注意:两个最长上升子 ...
- BZOJ 2423 最长公共子序列
Description 字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列.令给定的字符序列X=“x0,x1,…,xm-1”,序列Y=“y0, ...
- Leetcode 673.最长递增子序列的个数
最长递增子序列的个数 给定一个未排序的整数数组,找到最长递增子序列的个数. 示例 1: 输入: [1,3,5,4,7] 输出: 2 解释: 有两个最长递增子序列,分别是 [1, 3, 4, 7] 和[ ...
- [BZOJ2423][HAOI2010]最长公共子序列
[BZOJ2423][HAOI2010]最长公共子序列 试题描述 字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列.令给定的字符序列X=“x ...
- NOIP200407合唱队形+最长上升子序列O(n^2)详解
合唱队形解题报告 2016-05-12 4:30——6:45 NOIP200407合唱队形 难度级别:A: 运行时间限制:1000ms: 运行空间限制:256000KB: 代码长度限制:20000 ...
- bzoj:2423: [HAOI2010]最长公共子序列
Description 字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列.令给定的字符序列X=“x0,x1,…,xm-1”,序列Y=“y0, ...
- [Swift]LeetCode673. 最长递增子序列的个数 | Number of Longest Increasing Subsequence
Given an unsorted array of integers, find the number of longest increasing subsequence. Example 1: I ...
- codevs 1862 最长公共子序列(求最长公共子序列长度并统计最长公共子序列的个数)
题目描述 Description 字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列.令给定的字符序列X=“x0,x1,…,xm-1”,序列Y ...
随机推荐
- “随手记”开发记录day07
今天完成了关于我们页面中的相关信息,由于之前没有做过这个东西,只想着用一个view解决 可是发现我们整的太简单了,还是太年轻,最后想出来要跟java代码一起解决这个问题, 效果
- 用Python来搞副业?这届大学生到底有多野……
最近,我在知乎上偶然发现一个有意思的问题: 「大学生实习被当作廉价劳动力,你怎么看?」 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很 ...
- 大学生可用来接单,利用Python实现教务系统扩容抢课!
最近一学期一次的抢课大戏又来了,几家欢乐几家愁.O(∩_∩)O哈哈~(l我每次一选就过了hah,我还是有欧的时候滴).看着他们盯着教务系统就着急,何况我们那教务系统,不想说什么.emmm 想周围的朋友 ...
- C语言学习笔记之switch有无break差别
今天复习到了switch语句,我们正常的写法中,是经常把switch和break搭配在一起的 当我们把break去掉呢 可以看到,我们选择2时,的确会到case 2里面执行语句,可是没有break还是 ...
- 11、Composite 组合模式 容器与内容的一致性(抽象化) 结构型设计模式
1.Composite模式定义 组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象.组合模式依据树形结构来组合对象,用来表示部分以及整体层次.这 ...
- ECS7天实践进阶训练营Day2:基于阿里云ECS部署MediaWiki
一.概述 MediaWiki是全球最著名的开源Wiki程序,运行于PHP+MySQL环境,MediaWiki从2002年被作为维基百科的系统软件,并由大量其他应用实例(例如萌娘百科),因此MediaW ...
- 用WindowsAPI实现文件复制功能
用WindowsAPI实现文件复制功能 1. c代码 注释也在里面 文件名为 copyfile.c 运行出来的exe为 copyfile.exe #include <windows.h> ...
- vue的使用规范之v-if 与 v-for 一起使用
当 v-if 与 v-for 一起使用时,v-for 具有比 v-if 更高的优先级,这意味着 v-if 将分别重复运行于每个 v-for 循环中 所以,不推荐v-if和v-for同时使用 使用推荐方 ...
- 旧 WCF 项目成功迁移到 asp.net core web api
背景 接上一篇,放弃了 asp.net core + gRPC 的方案后,我灵光一闪,为什么不用 web api 呢?不也是 asp.net core 的吗?虽然 RESTful 不是强约束,客户端写 ...
- unity探索者之UGUI圆形图片组件
版权声明:本文为原创文章,转载请声明https://www.cnblogs.com/unityExplorer/p/13524824.html 使用UGUI进行游戏开发的过程中经常会遇到一个问题:玩家 ...