HDU 3008 Warcraft
题意:一个人有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相关推荐
- hdu 3008 Warcraft
一道有意思的DP Warcraft Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- 【常用数据结构——并查集(又在乱牵线了)】
并查集 简介 并查集,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中.这一类问题 ...
- HDU OJ 动态规划46题解析
Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955 背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢 ...
- HDU中一些DP的题目分类
DP是难点,供自已以后系统学习. 1.Robberies 连接 :http://acm.hdu.edu.cn/showproblem.php?pid=2955 背包;第一次做的时候把概率当做 ...
- hdu 动态规划题集
原文链接:http://blog.sina.com.cn/s/blog_6cf509db0100sptt.html点击打开链接 1.Robberies 连接 :http://acm.hdu.edu.c ...
- hdu 动态规划(46道题目)倾情奉献~ 【只提供思路与状态转移方程】(转)
HDU 动态规划(46道题目)倾情奉献~ [只提供思路与状态转移方程] Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955 背包 ...
- HDU题目分类大全【大集合】
基础题: 1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029. 1032.1037.1040.1048.1056.105 ...
- HDU 5643 King's Game 打表
King's Game 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5643 Description In order to remember hi ...
- 转载:Hdu 题目分类
原址点击 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029. 1032.1037.1040.1048.1056. ...
最新文章
- VBS脚本 - 实现一键停止Oracle相关服务
- CMD下提示“命令不是内部或外部命令”解决方法
- 用html制作简单日历,用javascript实现一个简单的日历
- 研发阶段模拟接口数据
- C#中异步多线程的常见用法
- Spring解析 XML 的原理,你搞定了么?
- sql_action
- 2021李宏毅机器学习课程笔记——Adversarial Attack
- 多线程编程(3): 使用互斥锁同步线程
- 上门挂画服务_瀑布山水画挂在哪里好 弄懂这2点挂画没烦恼
- id和instancetype
- win10 如何卸载OfficeScan
- 新版白话空间统计(11):ArcGIS中的PZ值标尺
- 用计算机怎么弹星辰大海,【计算机学院】你们的征途将是星辰大海~
- 虚拟机文件无法复制到主计算机,VMware 物理机可以复制文件到虚拟机,却无法从虚拟机复制文件到物理机(已解决)...
- 平面设计师okr_还在头疼怎么写OKR,这可能是最全的落地指导手册了
- 锚点(anchor)的理解
- 和平精英为什么进不去显示无法连接服务器,和平精英为什么进不去 进不去解决方法[多图]...
- 基于R语言的随机森林算法运用
- 碉堡了,一个专注于效率的开源编程语言
热门文章
- Starship Troopers(HDU 1011 树形DP)
- 归纳下js面向对象的几种常见写法
- SQLServer如何取得随机获取的数据库记录
- mac os x 10.7下配置svn服务器
- LeetCode-20.有效的括号(栈的使用+map的count)
- 树莓派系统的安装、初步配置与远程访问
- 剑指offer刷题 04. 二维数组中的查找
- 加速失败远程计算机不能反应,2008 R2 SP1远程桌面如何开启GPU加速?不讨论虚拟机...
- 最大公约数简便算法_最大公约数的求法
- python程序设计小程序_请问有会用Python编程语言编几个小程序的吗?谢谢题目如下。...