SDNU 1292.圣诞老人

Posted rootvount

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SDNU 1292.圣诞老人相关的知识,希望对你有一定的参考价值。

本题为求最长上升子序列的典型例题,是求最长下降子序列,我比较笨,用了n^2的解法

Description

昨天是平安夜,圣诞老人从房顶上的烟囱里爬到小朋友床边把礼物送给梦乡中的小朋友,但是今年的圣诞老人是处女座的,他有很严重的强迫症,他从一条街的一端开始,每次送礼物进的烟囱都不能比之前进的烟囱高,而且他还想要送出最多的礼物。

Input

输入数据只有一行,该行包含若干个数据,表示一条街上的烟囱高度(烟囱最多有 20 枚,高度h≤1000000)。

Output

圣诞老人最多送出多少礼物。

Sample Input

315 199 155 301 215 170 150 25

Sample Output

6
#include <cstdio>
#include <iostream>
#include <cmath>
#include <string>
#include <cstring>
#include <algorithm>

using namespace std;

int heihgt[28], dp[28], len = 1;
int main()
{
    int r, miao = 0, sum = 0;
    while(cin >> r)
    {
        heihgt[miao++] = r;
    }
    for(int  i = 0; i<miao; i++)
    {
        dp[i] = 1;
        for(int j = i-1; j >= 0; j--)
        {
            if(heihgt[j] >= heihgt[i] && dp[j]+1 >= dp[i])dp[i] = dp[j]+1;
        }
        if(dp[i]>len)len = dp[i];
    }
    printf("%d
", len);
    return 0;
}

 

以上是关于SDNU 1292.圣诞老人的主要内容,如果未能解决你的问题,请参考以下文章

SDNU 1206.蚂蚁感冒 代码如此简单,思维练习7月29

SDNU 1279.※N

SDNU 1274.Identity Card

SDNU 1108.Happy luguans(水题)

sdnu 1513 字符串翻转

SDNU 1125.Let the Balloon Rise