for(int j=;j<i;j++){
if(h[i] > h[j]){
if(len[i] == len[j] + ) cnt[i]+=cnt[j];
if(len[i] < len[j] + ) len[i] = len[j] + , cnt[i] = cnt[j];
}
//身高相同的情况统计
/*else if(h[i] == h[j]){
if(len[i] == len[j]) cnt[i] += cnt[j];
if(len[i] < len[j]) len[i] = len[j] , cnt[i] = cnt[j];
}*/
}

这道题需要注意的一点是如果出现身高相同的情况,那么这两个人不管谁站在队列中只算一种情况:如上面的代码所示,如果相同也统计那么就会报错,但是样例因为没有相同高度所以可以过

len[i] 表示前i个对象能构建的最长的子序列长度

cnt[i] 表示前i个对象构建的最长子序列长度的个数

 #include <cstdio>
#include <cstring>
using namespace std;
#define max(a,b) a>b?a:b
const int N = ;
int h[N] , len[N] , cnt[N];
int main()
{
freopen("test.in","rb",stdin);
int n;
while(scanf("%d",&n)!=EOF){
memset(len , ,sizeof(len));
memset(cnt , ,sizeof(cnt));
len[] = , cnt[] = ;
for(int i = ;i < n;i++)
{
len[i] = cnt[i] = ;
scanf("%d",h+i);
for(int j=;j<i;j++){
if(h[i] > h[j]){
if(len[i] == len[j] + ) cnt[i]+=cnt[j];
if(len[i] < len[j] + ) len[i] = len[j] + , cnt[i] = cnt[j];
}
/*else if(h[i] == h[j]){
if(len[i] == len[j]) cnt[i] += cnt[j];
if(len[i] < len[j]) len[i] = len[j] , cnt[i] = cnt[j];
}*/
}
}
int max_len = , cnt_all = ;
for(int i=;i<n;i++){
max_len = max(max_len , len[i]);
}
for(int i=;i<n;i++){
if(max_len == len[i])
cnt_all += cnt[i];
}
printf("%d %d\n",max_len,cnt_all);
}
return ;
}

CSU 1225 最长上升子序列并记录其个数的更多相关文章

  1. 【最长下降子序列的长度和个数】 poj 1952

    转自http://blog.csdn.net/zhang360896270/article/details/6701589 这题要求最长下降子序列的长度和个数,我们可以增加数组maxlen[size] ...

  2. 【模拟】CSU 1807 最长上升子序列~ (2016湖南省第十二届大学生计算机程序设计竞赛)

    题目链接: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1807 题目大意: 给你一个长度为N(N<=105)的数列,数列中的0可以被其他数 ...

  3. HDU - 1160 最长上升子序列以及记录路径

    题意:第一列,给出老鼠的重量,第二列,给出老鼠的速度,要证明老鼠的重量越大,速度越小,给出最多老鼠的数量,并说明第几只. 思路:先将老鼠按照重量从大到小排序,然后速度是从小到大,求最长上升子序列,学习 ...

  4. CSU 1807: 最长上升子序列~ 分类讨论

    1807: 最长上升子序列~ Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 138  Solved: 17[Submit][Status][Web Bo ...

  5. POJ - 2533 Longest Ordered Subsequence与HDU - 1257 最少拦截系统 DP+贪心(最长上升子序列及最少序列个数)(LIS)

    Longest Ordered Subsequence A numeric sequence of ai is ordered if a1 < a2 < ... < aN. Let ...

  6. (最长上升子序列 并记录过程)FatMouse's Speed -- hdu -- 1160

    http://acm.hdu.edu.cn/showproblem.php?pid=1160 FatMouse's Speed Time Limit: 2000/1000 MS (Java/Other ...

  7. [C++] 动态规划之矩阵连乘、最长公共子序列、最大子段和、最长单调递增子序列、0-1背包

    一.动态规划的基本思想 动态规划算法通常用于求解具有某种最优性质的问题.在这类问题中,可能会有许多可行解.每一个解都对应于一个值,我们希望找到具有最优值的解. 将待求解问题分解成若干个子问题,先求解子 ...

  8. - > 动规讲解基础讲解七——最长单增子序列

    (LIS Longest Increasing Subsequence)给定一个数列,从中删掉任意若干项剩余的序列叫做它的一个子序列,求它的最长的子序列,满足子序列中的元素是单调递增的. 例如给定序列 ...

  9. 求解最长递增子序列(LIS) | 动态规划(DP)+ 二分法

    1.题目描述     给定数组arr,返回arr的最长递增子序列. 2.举例     arr={2,1,5,3,6,4,8,9,7},返回的最长递增子序列为{1,3,4,8,9}. 3.解答      ...

随机推荐

  1. 题解报告:hdu 2602 Bone Collector(01背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 Problem Description Many years ago , in Teddy’s ...

  2. 题解报告:hdu 1220 Cube

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1220 问题描述 Cowl擅长解决数学问题. 有一天,一位朋友问他这样一个问题:给你一个边长为N的立方体 ...

  3. VS2010下安装Opencv 分类: Opencv 2014-11-02 13:51 778人阅读 评论(0) 收藏

    Opencv作为一种跨平台计算机视觉库,在图像处理领域得到广泛的应用,下面介绍如何在VS2010中安装配置Opencv 一.下载Opencv 下载网址:http://sourceforge.net/p ...

  4. XmlPullParser简单教程

    官网: http://www.xmlpull.org 本文参考 : http://www.xmlpull.org/v1/download/unpacked/doc/quick_intro.html 1 ...

  5. Android Dialogs(2)最好用DialogFragment创建Dialog

    Creating a Dialog Fragment You can accomplish a wide variety of dialog designs—including custom layo ...

  6. [转]查询表达式 (F#)

    本文转自:http://msdn.microsoft.com/zh-cn/library/hh225374.aspx 查询表达式可以查询数据源并将数据是一种预期形式.             查询表达 ...

  7. 简单工厂模式及php实现

    简单工厂模式(Simple Factory Pattern): 又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式.在简单工厂模式中,可以根据参数的不同返回不同类 ...

  8. CROSS APPLY AND CROSS APPLY

    随着业务千奇百怪,DBA数据库设计各有不同,一对多关系存JSON或字符串逗号分隔... 今天小编给大家分享一下针对这个问题的解决办法 问题一.存储过程接受参数格式为XXX,XXX 解决办法:将字符转成 ...

  9. scala打印error,debug,info

    1.以wordcount为例 package org.apache.spark.examples import org.apache.spark.examples.SparkPi.logger imp ...

  10. R in action读书笔记(7)-第七章:基本统计分析(下)

    7.3相关 相关系数可以用来描述定量变量之间的关系.相关系数的符号(±)表明关系的方向(正相关或负相关),其值的大小表示关系的强弱程度(完全不相关时为0,完全相关时为1).除了基础安装以外,我们还将使 ...