Super Jumping! Jumping! Jumping!(HDU1087)

和最长上升子序列很相似,只不过这题求的是最长上升子序列和

所以定义dp[i] = 以a[i]为末尾的最长上升子序列的和。                其中以a[i]结尾的子序列可能是只包含a[i]的子序列,也可能是在满足j<i并且a[j]<a[i]的以a[i]为结尾的子序列。

因为影响决策的因素为子序列的两端,所以用二重循环递推

所以状态方程为dp[i] = max(dp[i],dp[j]+a[i])    。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,a[1005],dp[1005];
int main(){
    while(~scanf("%d",&n)&&n){
        for(int i=1;i<=n;i++) scanf("%d",&a[i]);
        long long res = 0;
        for(int i=1;i<=n;i++){
                dp[i] = a[i];
            for(int j=1;j<i;j++){
                if(a[j]<a[i]){
                    dp[i] = max(dp[i],dp[j]+a[i]);
                }
            }
            if(res<dp[i]) res = dp[i];
        }
        printf("%lld\n",res);
    }
    return 0;
}
时间: 2025-01-18 16:24:39

Super Jumping! Jumping! Jumping!(HDU1087)的相关文章

暑假集训(5)第一弹——— Super Jumping! Jumping! Jumping!(hdu1087)

题意概括:在上次与娑殚的三次博弈中,你们都取得了胜利.便向娑殚提出要求,借助他的力量,传送到一个安全的地方. 你们的愿望达成了,不过,你和小A似乎失散了. 街上人来人往的特别热闹,每一个人的脸上都洋溢着幸福.“咕咕......"额,掏了掏身上的口袋,除你之外. “听说了嘛,德源街哪有个脑力比赛,据说优胜者可以去”吃到饱“饭店吃到饱,而且前三名还会有神秘奖品......" 这次,为了填饱......嗯,为了生存,你决定参加这个比赛,比赛要求你得到在给定的数字中得到最大循序上升序列和. 问

Bungee Jumping hdu 1155(物理)

http://acm.hdu.edu.cn/showproblem.php?pid=1155 题意:给出一个人蹦极的高度,绳子的长度,绳子的弹力系数,以及他自身体重.问你他是停留在空中还是安全落地还是速度过大撞死了(V>10). 分析:一年不学物理,物理真成渣了.不过百度看的解析,公式好熟悉啊... mgh=k*x*x/2+m*v*v/2(x为形变量) #include <iostream> #include <stdio.h> #include <string.h&g

面向对象super内置函数(转)

super函数用来解决钻石继承. 一.python的继承以及调用父类成员 父类: class Base(object): def __init__(self): print("base init.") 普通方法调用父类: class Leaf(Base): def __init__(self): Base.__init__(self) print("Leaf init.") super方法调用父类: class Leaf(Base): def __init__(se

JAVA笔记(一)super and this

http://zhangjunhd.blog.51cto.com/113473/20531 总结关键字this与super用法. author: ZJ 07-3-12 Blog: [url]http://zhangjunhd.blog.51cto.com/[/url] 1.什么是super?什么是this? super关键字表示超(父)类的意思.this变量代表对象本身. 2.使用super&this调用成员变量和方法 可以使用super访问父类被子类隐藏的变量或覆盖的方法.当前类如果是从超类继

iOS9基础知识(OC)笔记

1月16日 Objective  C(20世纪80年代初) 一.OC语言概述 1.1985年,Steve  Jobs成立了NeXT公司 2.1996年,12月20日,苹果公司宣布收购了NeXT  software 公  司,NEXTSTEP环境为apple公司下主要开发.发行操作 系统OSX的基础,这个开发环境的版本被苹果公司命名为 Cocoa(可可)框架             NSString  NS=NEXTSTEP 3.Cocoa框架  (Cocoa  Touc

JSP学习笔记(五):自定义标签-JSP1.x

1.任何一个标签都对应一个Java类,该类必须实现Tag接口. 2.一个标签可以通过 tld 文件查找该标签的是实现类,并运行该类的相关方法. 一.简单标签实现 (一)实现Tag接口 1.实现代码: <span style="font-family:Arial;">package taglib.jsp_one; import java.io.IOException; import java.util.ResourceBundle; import javax.servlet.

继承(五)

继承 继承,是面向对象三大特征之一,继承的出现,是为了减少很多的冗余代码,因为是把各个类中,把相同特征和行为收集到另一个类中,然后这些类继承于这个集中类,可以把这个集中类的所有的特征和行为都继承过来.然后使用. 说到类了,则应该提到子类和父类,这两者是同时存在的,不能说我是父类,也不能说我是子类,两者相互依存.谁是谁的父类,谁是谁的子类. 子类继承父类,是单向的,两者之间不能相互继承. 继承还具有传递性,用白话来说就是:B类如果继承于A类,C类继承于B类,此时B类就是A类的子类,C类就是B类的子

Django学习笔记(二)—— 模板

疯狂的暑假学习之 Django学习笔记(二)-- 模板 参考: <The Django Book> 第四章 一.模板基础知识 1.模板是如何工作的 用 python manage.py shell 启动交互界面(因为manage.py 保存了Django的配置,如果直接python启动交互界面运行下面代码会出错) 输入下面代码 >>> from django import template >>> t = template.Template('My name

Hadoop学习Day20---ZooKeeper系列(四)

使用ZooKeeper来构建应用 在一定程度上了解ZooKeeper之后,我们接下来要用ZooKeeper编写一些有用的应用程序. 一.配置服务 配置服务是分布式应用所需要的基本服务之一,它使集群中的机器可以共享配置信息中那些公共的部分.简单地说,ZooKeeper可以作为一个具有高可用性的配置存储器,允许分布式应用的参与者检索和更新配置文件.使用ZooKeeper中的观察机制,可以建立一个活跃的配置服务,使那些感兴趣的客户端能够获得配置信息修改的通知. 下面来编写一个这样的服务.我们通过两个假