题意:一个人有100点血和100点魔法,Boss有100点血。人有n个技能。每一个技能对Boss有a[i]点伤害,

且会消耗b[i] 的点魔量,人每秒会有t秒魔法恢复(最大为100)Boss每秒有q点伤害,问人能否先击败Boss

若能。须要几秒。

dp[i][tmp]:在第 i 秒 剩余 魔法为 tmp 时的伤害。

tmp = 第i秒拥有的魔法 j - a[k]消耗的魔法+t。

dp[i][tmp]=max(dp[i][tmp]。dp[i-1][第i秒拥有的魔法 j]+b[k]);

每次找出第 i 秒时有 j 魔法剩余tmp魔法的伤害。

理解:在第 i-1 秒时有 j 点魔法,然后 在 第 i 秒时用第 i-1 秒时的魔法使用第 k个技能 攻击Boss

攻击完后剩余tmp点魔法,以此循环……

#include<cstdio>
#include<stdlib.h>
#include<string.h>
#include<string>
#include<map>
#include<cmath>
#include<iostream>
#include <queue>
#include <stack>
#include<algorithm>
#include<set>
using namespace std;
#define INF 1e8
#define eps 1e-8
#define LL long long
#define maxn 100001
#define mol 1000000007int main()
{int n,t,q;int dp[105][105];int a[105],b[105];while(scanf("%d%d%d",&n,&t,&q)){if(n==0&&t==0&&q==0) break;for(int i=1;i<=n;i++){scanf("%d%d",&a[i],&b[i]);}memset(dp,0,sizeof(dp));a[0]=0;b[0]=1;int flag=0,i;for(i=1;(i-1)*q<100;i++){for(int j=0;j<=100;j++){for(int k=0;k<=n;k++){if(j<a[k]) continue;int tmp=j-a[k]+t;if(tmp>100) tmp=100;if(dp[i][tmp]<dp[i-1][j]+b[k])dp[i][tmp]=dp[i-1][j]+b[k];if(dp[i][tmp]>=100){flag=1;break;}}if(flag) break;}if(flag) break;}if(flag)printf("%d\n",i);else printf("My god\n");}return 0;
}

转载于:https://www.cnblogs.com/clnchanpin/p/7043423.html

HDU 3008 Warcraft相关推荐

  1. hdu 3008 Warcraft

     一道有意思的DP Warcraft Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  2. 【常用数据结构——并查集(又在乱牵线了)】

    并查集 简介 并查集,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中.这一类问题 ...

  3. HDU OJ 动态规划46题解析

    Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955  背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢 ...

  4. HDU中一些DP的题目分类

    DP是难点,供自已以后系统学习. 1.Robberies 连接 :http://acm.hdu.edu.cn/showproblem.php?pid=2955      背包;第一次做的时候把概率当做 ...

  5. hdu 动态规划题集

    原文链接:http://blog.sina.com.cn/s/blog_6cf509db0100sptt.html点击打开链接 1.Robberies 连接 :http://acm.hdu.edu.c ...

  6. hdu 动态规划(46道题目)倾情奉献~ 【只提供思路与状态转移方程】(转)

    HDU 动态规划(46道题目)倾情奉献~ [只提供思路与状态转移方程] Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955      背包 ...

  7. HDU题目分类大全【大集合】

    基础题: 1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029.  1032.1037.1040.1048.1056.105 ...

  8. HDU 5643 King's Game 打表

    King's Game 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5643 Description In order to remember hi ...

  9. 转载:Hdu 题目分类

    原址点击 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029. 1032.1037.1040.1048.1056. ...

最新文章

  1. VBS脚本 - 实现一键停止Oracle相关服务
  2. CMD下提示“命令不是内部或外部命令”解决方法
  3. 用html制作简单日历,用javascript实现一个简单的日历
  4. 研发阶段模拟接口数据
  5. C#中异步多线程的常见用法
  6. Spring解析 XML 的原理,你搞定了么?
  7. sql_action
  8. 2021李宏毅机器学习课程笔记——Adversarial Attack
  9. 多线程编程(3): 使用互斥锁同步线程
  10. 上门挂画服务_瀑布山水画挂在哪里好 弄懂这2点挂画没烦恼
  11. id和instancetype
  12. win10 如何卸载OfficeScan
  13. 新版白话空间统计(11):ArcGIS中的PZ值标尺
  14. 用计算机怎么弹星辰大海,【计算机学院】你们的征途将是星辰大海~
  15. 虚拟机文件无法复制到主计算机,VMware 物理机可以复制文件到虚拟机,却无法从虚拟机复制文件到物理机(已解决)...
  16. 平面设计师okr_还在头疼怎么写OKR,这可能是最全的落地指导手册了
  17. 锚点(anchor)的理解
  18. 和平精英为什么进不去显示无法连接服务器,和平精英为什么进不去 进不去解决方法[多图]...
  19. 基于R语言的随机森林算法运用
  20. 碉堡了,一个专注于效率的开源编程语言

热门文章

  1. Starship Troopers(HDU 1011 树形DP)
  2. 归纳下js面向对象的几种常见写法
  3. SQLServer如何取得随机获取的数据库记录
  4. mac os x 10.7下配置svn服务器
  5. LeetCode-20.有效的括号(栈的使用+map的count)
  6. 树莓派系统的安装、初步配置与远程访问
  7. 剑指offer刷题 04. 二维数组中的查找
  8. 加速失败远程计算机不能反应,2008 R2 SP1远程桌面如何开启GPU加速?不讨论虚拟机...
  9. 最大公约数简便算法_最大公约数的求法
  10. python程序设计小程序_请问有会用Python编程语言编几个小程序的吗?谢谢题目如下。...