https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4441

题意:有n个靶子,每个靶子有3个val,需要满足3钟情况分别得到他们的val。问最大的得分。

sl :很水的dp, 记录下当前的4个状态,分别是,不选,选(左边选右边不选,左边不选右边选,左右多不选,左边右边都选),转移很简单了。

训练时看错题逗比了半天,逗。

#include <cstdio>
#include <string>
#include <algorithm>
#include <cstring>
using namespace std;
typedef long long LL;
const int MAX = 1e6+;
struct node {
    int a,b,c;
}v[MAX];
LL dp[MAX][];
int main() {
    int n,a,b,c;
    while(scanf("%d",&n)==) {
        for(int i=;i<=n;i++) {
            scanf("%d %d %d",&v[i].a,&v[i].b,&v[i].c);
        }
        memset(dp,,sizeof(dp));
        if(n==) {
            printf("%d\n",v[].a);
        }
        else {
            dp[][]=; dp[][]=v[].a; dp[][]=v[].b;
            for(int i=;i<=n;i++) {
                dp[i][]=max(dp[i-][],max(dp[i-][],dp[i-][]));
                dp[i][]=dp[i-][]+v[i].a;
                dp[i][]=dp[i-][]+v[i].b;
                dp[i][]=max(dp[i-][]+v[i].b,dp[i-][]+v[i].b);
                dp[i][]=max(dp[i-][],dp[i-][])+v[i].c;
            }
            LL ans=;
            ans=max(ans,dp[n][]); ans=max(ans,dp[n][]); ans=max(ans,dp[n][]);
            printf("%d\n",ans);
        }
    }

}

UVALive 6430 (水dp)的更多相关文章

  1. CodeForces 706C Hard problem (水DP)

    题意:对于给定的n个字符串,可以花费a[i]  将其倒序,问是否可以将其排成从大到小的字典序,且花费最小是多少. 析:很明显的水DP,如果不是水DP,我也不会做.... 这个就要二维,d[2][max ...

  2. 水dp第二天(背包有关)

    水dp第二天(背包有关) 标签: dp poj_3624 题意:裸的01背包 注意:这种题要注意两个问题,一个是要看清楚数组要开的范围大小,然后考虑需要空间优化吗,还有事用int还是long long ...

  3. HDU 2084 数塔 (水DP)

    题意:.... 析:从下往上算即可,水DP. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #incl ...

  4. hdu 2571 命运(水DP)

    题意: M*N的grid,每个格上有一个整数. 小明从左上角(1,1)打算走到右下角(M,N). 每次可以向下走一格,或向右走一格,或向右走到当前所在列的倍数的列的位置上.即:若当前位置是(i,j), ...

  5. UVALive 4764 简单dp水题(也可以暴力求解)

    B - Bing it Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status ...

  6. HDU 4960 (水dp)

    Another OCD Patient Problem Description Xiaoji is an OCD (obsessive-compulsive disorder) patient. Th ...

  7. hdu4907 水dp 或者set

    题意:       给你一些被占用的时间点,然后有一些询问,每次输出大于等于询问时间的没被占用的最小的那个时间. 思路:       直接把所有用过的时间标记上,然后倒着更新一遍当前最小空余时间,或者 ...

  8. UVALive 6908---Electric Bike(DP或记录型深搜)

    题目链接 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...

  9. Tickets HDU - 1260 水DP

    HDU - 1260 现在有n个人要买电影票,如果知道每个人单独买票花费的时间, 还有和前一个人一起买花费的时间,问最少花多长时间可以全部买完票. 直接dp就行,注意下输出和初始化 每次从dp[i-1 ...

随机推荐

  1. 【Visual Studio Code 】使用Visual Studio Code + Node.js搭建TypeScript开发环境

    1.准备工作 Node.js Node.js - Official Site Visual Studio Code Visual Studio Code - Official Site 安装Node. ...

  2. js中toFixed重写

    在测试原生的toFixed发现,它在个浏览器上表现不一致,并且有些值在保留小数时得到的结果并不是想要,如在chrome下测试: 所以针对toFixed方法不准的问题,我们进行方法改造: 主要思路是:对 ...

  3. 转 windows10 U盘系统启动盘怎么制作

    转 windows10 U盘系统启动盘怎么制作 现将http://jingyan.baidu.com/article/9f7e7ec05e24d56f29155455.html  将dvd 写入 is ...

  4. [转]Keyword Reference (F#)

    Visual F# Development Portal http://msdn.microsoft.com/en-us/library/vstudio/ff730280.aspx 本文转自:http ...

  5. Java用SAX解析XML

    要解析的XML文件:myClass.xml <?xml version="1.0" encoding="utf-8"?> <class> ...

  6. Kickstart Round D 2017 : A

    思路: 动态规划. large数据的时间范围很大,无法设计入状态中.转换思路为定义dp[i][j]为当前在景点i,并且已经游览了j个景点所花费的最小时间,这种思想与leetcode45类似.于是转移方 ...

  7. serialize可以获取form表单里面的数值

    serialize属性 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  8. php5.6.30开启redis扩展

    注:5.6版本的php一定要下载phpredis3.0以上的版本,之前自己下载用的2.2.4的redis,安装配置完成后,PHP死活不支持redis的扩展,通过phpinfo打印也压根看不到,重复服务 ...

  9. contact用法解析

    经典用法: mysql> select concat('11','22','33'); +------------------------+ | concat('11','22','33') | ...

  10. JavaScript操作DOM与jQuyer操作DOM的对比

    1.通过jQuery方法包装后的对象,是一个类数组对象.它与DOM对象完全不同,唯一相似的是它们都能操作DOM. 2.通过jQuery方法包装后的对象,是一个类数组对象.它与DOM对象完全不同,唯一相 ...