本题我们可以类比背包

背包dp[i][j] 表示再有i个物品下j个空间所获得的最大价值

本题dp[i][j] 可以表示干掉i个血量j个防御力下的最小花费

我们看其实我们就是在不同血量之间转移

如果当前技能的攻击力 > 当前防御力

如果攻击力能干掉怪物那么dp[i][j] = min(花费,dp[i][j]);

如果干不掉 dp[i][j] = min(dp[i-伤害] [ j]+花费 , dp[i][j]);也就是在干掉i-伤害值下的花费 再加使用这次技能的花费

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 100010;
const int inf = 0x3f3f3f3f;
ll n,m,k[1010],p[1010],a[maxn],b[maxn];
ll dp[1010][15];int main()
{while(~scanf("%d%d",&n,&m)){ll ml=0,mf=0;for(int i=1;i<=n;i++){cin>>a[i]>>b[i];ml = max(ml,a[i]);mf = max(mf,b[i]);}ll ma=0;for(int i=1;i<=m;i++){cin>>k[i]>>p[i];ma = max(p[i],ma);}memset(dp,0,sizeof(dp));if(ma<=mf){puts("-1");continue;}for(int j=1;j<=ml;j++){for(int i=0;i<=10;i++){dp[j][i] = inf;for(int u=1;u<=m;u++){ll h = p[u]-i;//cout<<j-h<<endl;//system("pause");if(h<=0)continue;//伤害值小于防御值if(h>=j)//可以干掉dp[j][i] = min(dp[j][i],k[u]);else dp[j][i] = min(dp[j][i],dp[j-h][i]+k[u]); }}}ll ans=0;for(int i=1;i<=n;i++){ans+=dp[a[i]][b[i]];}printf("%lld\n",ans);}return 0;
}

2017百度之星资格赛 1003 度度熊与邪恶大魔王相关推荐

  1. 2017百度之星 资格赛1003度度熊与邪恶大魔王

    1003度度熊与邪恶大魔王 Accepts: 1503 Submissions: 9026 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 3 ...

  2. 2017百度之星资格赛—1003度度熊与邪恶大魔王

    其他题目就不发博客了(有些也没做出来!!),感觉这次百度之星资格赛题目数据有毒,吐槽,其他题目也不好说,感觉这个题目正常点. 这个题目我当时想到的就是动态规划,但是评论中很多人说是贪心,我一直不理解, ...

  3. 2017百度之星资格赛1003 度度熊与邪恶大魔王(完全背包)

    题意: 度度熊为了拯救可爱的公主,于是与邪恶大魔王战斗起来.邪恶大魔王的麾下有n个怪兽,每个怪兽有a[i]的生命值,以及b[i]的防御力.度度熊一共拥有m种攻击方式,第i种攻击方式,需要消耗k[i]的 ...

  4. 2017百度之星 资格赛 1003 度度熊与邪恶大魔王(dp)

    #代码: #include<bits/stdc++.h> #define MAXN 1050using namespace std; int n,m; long long int dp[M ...

  5. 百度之星资格赛1003 度度熊与邪恶大魔王(dp)--2017

    度度熊与邪恶大魔王 Problem Description 度度熊为了拯救可爱的公主,于是与邪恶大魔王战斗起来. 邪恶大魔王的麾下有n个怪兽,每个怪兽有a[i]的生命值,以及b[i]的防御力. 度度熊 ...

  6. 百度之星资格赛1003 度度熊与邪恶大魔王

    Problem Description 度度熊为了拯救可爱的公主,于是与邪恶大魔王战斗起来. 邪恶大魔王的麾下有n个怪兽,每个怪兽有a[i]的生命值,以及b[i]的防御力. 度度熊一共拥有m种攻击方式 ...

  7. 百度之星资格赛 1003 度度熊与邪恶大魔王 DP 完全背包

    题目链接: http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=774&pid=1003 题目大意: a[i], ...

  8. 百度之星资格赛 1003 度度熊与邪恶大魔王(二维dp)

    分析 挺好的一道题 dp[i][j]表示打败i颗血j防御力的怪兽需要的最少宝石数 然后就好了,复杂度\(O(n+m*1000*10)\) #include <bits/stdc++.h> ...

  9. (百度之星资格赛) 度度熊与邪恶大魔王 (dp)

    度度熊为了拯救可爱的公主,于是与邪恶大魔王战斗起来. 邪恶大魔王的麾下有n个怪兽,每个怪兽有a[i]的生命值,以及b[i]的防御力. 度度熊一共拥有m种攻击方式,第i种攻击方式,需要消耗k[i]的晶石 ...

最新文章

  1. 【怎样写代码】对象克隆 -- 原型模式(三):原型模式
  2. The method createCall() from the type Service refers to the missing type Call
  3. Android自定义视图四:定制onMeasure强制显示为方形
  4. reid笔记 yolov5 deepsort
  5. 父亲和女儿同为互联网大佬, 但不幸都得癌症
  6. day12 Python操作rabbitmq及pymsql
  7. ngx_lua模块中的共享内存字典项API
  8. 主题建模lda_使用LDA的Google Play商店应用评论的主题建模
  9. python自动导出数据脚本_利用python生成一个导出数据库的bat脚本文件的方法
  10. Jsoup设置属性值
  11. html自动增加一行并获取行号,javascript开发系列(table操作,table增加一行,删除一行,取行号,列号)...
  12. 大数据_MapperReduce_Hbase相关面试题_补充说明---Hbase工作笔记0030
  13. JavaScript之一: 闭包、执行环境、作用域链
  14. LINGO语法及软件操作
  15. Processing自画像
  16. 《STK二次开发 C++版》S1:STK介绍
  17. 异步操作及定时任务框架quzrtz在donet平台的使用
  18. 通信常识:波特率、数据传输速率与带宽的相互关系
  19. 物联网应用开发实践案例-智慧农业
  20. RabbitMQ 使用的AMQP模型解析

热门文章

  1. 分布式技术一周技术动态 2016.07.10
  2. 7zip File: How to Uncompress 7z files on Ubuntu, Debian, Fedora
  3. NetworkOnMNetworkOnMainThreadException
  4. QQ技术攻略-原来隐藏着这么多秘密(上)
  5. 网站三级分销数据库如何设计,简单案例
  6. java错位_java – 如何保护自己免受参数错位的影响
  7. linux qt getpid,[QTA] Android 动态注入原理分析
  8. 隐藏a标签seo_让黑帽都惊了,远离百度惩处的seo技术
  9. 动态sql (sql-if,sql-foreach)
  10. 复习Python DB-API