题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6495

题解:DP!!! dp[i][j] 表示前i个挑战,接受了j个剩余的最大体力,最后输出体力大于0的j最大的即可

#include<iostream>
#include<vector>
#include<algorithm>
#include <cstdio>
#include<cmath>
#include<set>
#include<cstring>
#include<string>
#include<iomanip>
#define INF 0x3f3f3f
using namespace std;
typedef long long ll;
const int mod=1e9+;
const int maxn=;
const double PI=acos(-1.0);
ll a[maxn],b[maxn],c[maxn],dp[maxn][maxn];//d[i][j]代表前i个挑战选j个所剩余的最大的体力
int main()
{
int n,m;
int t;
cin >> t;
while(t--)
{
cin >> n >> m;
for(int i = ;i <= n;i ++)
cin >> a[i] >> b[i] >> c[i];
memset(dp,-INF,sizeof(dp));//初始化
dp[][] = m;//初始体力
ll tmp;
for(int i = ;i <= n;i ++)
{
dp[i][]=dp[i-][]+c[i];
for(int j = ;j <= n;j ++)
{
dp[i][j] = dp[i-][j] + c[i];
tmp = min(dp[i-][j-],b[i])-a[i];//每次挑战之前体力取当前体力和b[i]最小的值
if(tmp > )//如果第j个挑战后还有体力
{
dp[i][j] = max (dp[i][j],tmp + c[i]);//该次挑战体力后取最大
}
} }
for(int i = n; i >= ;i --)
{
if(dp[n][i] > )
{
cout << i << endl;break;//如果有找到体力大于0的,该编号就是最大的挑战次数 }
}
}
return ;
}

冰水挑战 HDU - 6495的更多相关文章

  1. 2050编程赛 冰水挑战 HDU 6495

    题目地址:https://vjudge.net/problem/HDU-6495 思路:我们需要维护的是挑战了n个之后剩余体力值,剩余体力值越大越好dp[N(i)][N(j)],第一个维度,记录当前是 ...

  2. HDU 6495 冰水挑战

    Problem Description Polar Bear Pitching helps you crystallize your message. The stage could not be a ...

  3. hdu 6495 dp

    http://acm.hdu.edu.cn/showproblem.php?pid=6495 题意 有n个挑战(1e3),假如接受,在挑战之前体力x会变成min(x,\(b[i]\)),然后会减去a[ ...

  4. 2050 Programming Competition (CCPC)

    Pro&Sol 链接: https://pan.baidu.com/s/17Tt3EPKEQivP2-3OHkYD2A 提取码: wbnu 复制这段内容后打开百度网盘手机App,操作更方便哦 ...

  5. JS文档和Demo自动化生成工具 - SmartDoc发布

    曾几何时,当你码神附体,一路披荆斩棘的完成代码后,带着“一码在手,天下我有”的傲然环顾之时,却发现单元测试.API文档.Demo实例陆续向你砸来,顿时有木有一种冰水挑战后的感觉.而这时你应该:哟哟,快 ...

  6. 2050 Programming Competition

    http://2050.acmclub.cn/contests/contest_show.php?cid=3 开场白 Time Limit: 2000/1000 MS (Java/Others)    ...

  7. hdu 5676 ztr loves lucky numbers

    题目链接:hdu 5676 一开始看题还以为和数位dp相关的,后来才发现是搜索题,我手算了下,所有的super lucky number(也就是只含数字4, 7且4, 7的数量相等的数)加起来也不过几 ...

  8. hdu 3473 Minimum Sum

    传送门 之前看挑战的时候看到一道分桶法的题目,其实我不是很明白分桶法应该怎么写.看到poj后面的讨论版上写着划分树裸题,而我以前就听说过了划分树,就干脆拿来学习一下.在写这篇博客的时候,其实我还是对这 ...

  9. HDU 2059 龟兔赛跑(动态规划)

    龟兔赛跑 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

随机推荐

  1. Spring _day01_下载、概述、监听器

    Spring:SE/EE开发的一站式框架. ​ .一站式框架:有EE开发的每一层解决方案. ​ . WEB层 :SpringMVC ​ . Service层 :Spring的Bean管理,Spring ...

  2. myBatis xml if、where、if-else?、foreach 心得

    MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句的痛苦.例如拼接时要确保不能忘记添加必要的空格,还要注意去掉 ...

  3. maven的依赖特性

    若排版紊乱可查看我的个人博客原文地址 maven的依赖特性很多很杂,这里大概总结一下,maven的依赖特性主要是依赖范围和传递依赖,前者会影响后者,这篇文章会介绍传递依赖的传递原则,出现冲突传递依赖默 ...

  4. Laravel 1071 Specified key was too long

    出现错误 SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key len ...

  5. 最近工作再弄基于bootstrap的定制sass

    封装各种组件如 button table 当然..我只才做完两个. 比如table 抽出很多类以后可以配置的值 还有button 目录结构大致是 scss主要css文件 base和components ...

  6. admin 显示多对多字段

    class BookAdmin(admin.ModelAdmin): def 作者(self, object): return [a.name for a in object.author.all() ...

  7. 斐讯K2 22.5.9固件刷华硕固件实测教程

    斐讯K2最新的固件是V22.5.9.163这个版本是锁死了,不能刷机的,而且不能降级到原来的可以刷机的老版本固件,也就不能刷第三方固件了,怎么破呢?下面就教大家怎么降级刷机到V22.4.2.8固件.  ...

  8. bottle.py中的路由解析代码

    # Routing def compile_route(route): """ Compiles a route string and returns a precomp ...

  9. datetime模块

    # 其中days = -2,可以根据需要进行替换,这样就可以得到不同需要的日期了. # # 另外:可以通过strftime方法,指定时间的输出格式. # # 除了以上输入的   %Y-%m-%d    ...

  10. Python 语法2

    文档字符串,这个只能是用于紧跟函数第二行的内容. 输出文档说明的部分,代码格式是 函数名称.(dot)__(双下划线)doc__(双下划线) ///////////////////////////// ...