题面不kuai了,传送门

一道简单dp题,为了刷访问量写一篇吧

n巨大

防御力10

血量1000

10*1000=104

技能1000

所以dp解决。

f[i][j]=min(f[i][j],f[i][max(0,j-p[l]+i)]+k[l]); (l=1...m)

自己理解就好了啦

ps.果真刷访问量神器

 1 // It is made by XZZ
 2 #include<cstdio>
 3 #include<algorithm>
 4 using namespace std;
 5 #define rep(a,b,c) for(rg int a=b;a<=c;a++)
 6 #define drep(a,b,c) for(rg int a=b;a>=c;a--)
 7 #define erep(a,b) for(rg int a=fir[b];a;a=nxt[a])
 8 #define il inline
 9 #define rg register
10 #define vd void
11 typedef long long ll;
12 il int gi(){
13     rg int x=0,f=1;rg char ch=getchar();
14     while(ch<'0'||ch>'9')f=ch=='-'?-1:f,ch=getchar();
15     while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();
16     return x*f;
17 }
18 ll f[11][1001],k[1001],p[1001],a[100001],b[100001];
19 int main(){
20     int n,m;
21     while(scanf("%d%d",&n,&m)==2){
22         rep(i,1,n)a[i]=gi(),b[i]=gi();
23         rep(i,1,m)k[i]=gi(),p[i]=gi();
24         rep(i,0,10)rep(j,1,1000)f[i][j]=1000000000000000ll;
25         rep(i,0,10)rep(j,1,1000)rep(l,1,m)if(p[l]>i)
26             f[i][j]=min(f[i][j],f[i][max(0ll,j-p[l]+i)]+k[l]);
27         ll ans=0;
28         rep(i,1,n)if(f[b[i]][a[i]]==1000000000000000ll)ans=-1;
29         if(ans!=-1)rep(i,1,n)ans+=f[b[i]][a[i]];
30         printf("%I64d\n",ans);
31     }
32     return 0;
33 }

View Code

转载于:https://www.cnblogs.com/xzz_233/p/7291264.html

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    本题我们可以类比背包 背包dp[i][j] 表示再有i个物品下j个空间所获得的最大价值 本题dp[i][j] 可以表示干掉i个血量j个防御力下的最小花费 我们看其实我们就是在不同血量之间转移 如果当前 ...

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

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

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

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

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

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

最新文章

  1. VC获取其他进程ListCtrl内容
  2. “2021ISIG中国产业智能大会低代码峰会”即将开幕,钉钉宜搭叶周全受邀出席
  3. Lintcode: O(1) Check Power of 2
  4. 前端学习(869):高级事件导读
  5. Zabbix 配置钉钉告警功能
  6. Python 进阶——重访 list
  7. Android 项目必备(三十二)-->APP 项目产品介绍
  8. Error: Cannot find module ‘webpack‘
  9. 米勒-拉宾质数判断证明
  10. Codevs 3100 蜗牛的旅行
  11. 创建Image图像的几种方法
  12. 【高效程序员系列】3 别碰鼠标——让键盘飞起来
  13. Python量化选股入门:资本资产定价模型(CAPM)
  14. 我的世界服务器怎么发全部消息,我的世界服务器里起床战争怎么向所有人说话...
  15. 万里长征——基础IO
  16. note_35:Image Asset和mipmap-anydpi-v26
  17. and门 simuilink_电力电子电路仿真-MATLAB和PSpice应用.PPT
  18. [bzoj3144]【HNOI2013】切糕
  19. 一个数字加运算的验证码
  20. 中国cad工程 打字软件

热门文章

  1. 我们一家三口不和双方父母来往了怎么办?
  2. 产品,是解决问题的载体
  3. 最简单的零成本创业模式
  4. 为什么太重感情的人基本都是穷人?
  5. Since WWDC released the first developer
  6. Qt4_快速设计对话框
  7. mac下qt与mysql配置
  8. 线性最小二乘法(附MATLAB代码)
  9. ssrs行高_SSRS中的备用行颜色
  10. sql 表变量 临时表_何时使用SQL临时表与表变量