hdu 4544 湫湫系列故事——消灭兔子(贪心+优先队列)

51nod 1191 消灭兔子(贪心) 参考:http://blog.youkuaiyun.com/u010885899/article/details/48517051 怎么说呢,想到了一种思路,但是不会实现,很蛋疼。 思路:按照Q币升序排序,血量也是升序排序。先用Q币少的去打血量少的,当碰到一个兔子的血量比伤害要高的时候,可以选择曾经用过的伤害高的箭,和当前的箭对比一下两者能否替换,如果能替换就替换掉,不能替换就继续向后找。不会实现 反观大 阅读详情

湫湫系列故事——消灭兔子

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 612    Accepted Submission(s): 231


Problem Description
  湫湫减肥
  越减越肥!
  
  最近,减肥失败的湫湫为发泄心中郁闷,在玩一个消灭免子的游戏。
  游戏规则很简单,用箭杀死免子即可。
  箭是一种消耗品,已知有M种不同类型的箭可以选择,并且每种箭都会对兔子造成伤害,对应的伤害值分别为Di(1 <= i <= M),每种箭需要一定的QQ币购买。
  假设每种箭只能使用一次,每只免子也只能被射一次,请计算要消灭地图上的所有兔子最少需要的QQ币。
 

Input
输入数据有多组,每组数据有四行;
第一行有两个整数N,M(1 <= N, M <= 100000),分别表示兔子的个数和箭的种类;
第二行有N个正整数,分别表示兔子的血量Bi(1 <= i <= N);
第三行有M个正整数,表示每把箭所能造成的伤害值Di(1 <= i <= M);
第四行有M个正整数,表示每把箭需要花费的QQ币Pi(1 <= i <= M)。

特别说明:
1、当箭的伤害值大于等于兔子的血量时,就能将兔子杀死;
2、血量Bi,箭的伤害值Di,箭的价格Pi,均小于等于100000。
 

Output
如果不能杀死所有兔子,请输出”No”,否则,请输出最少的QQ币数,每组输出一行。
 

Sample Input
  
3 3 1 2 3 2 3 4 1 2 3 3 4 1 2 3 1 2 3 4 1 2 3 1
 

Sample Output
  
6 4
 

Source
 

Recommend
liuyiding

思路:每次从血量最多的兔子开始杀,选择能杀死它的最便宜的箭,前面SORT下,后面用优先队列就好了。


#include<iostream>
#include<cstring>
#include<cstdio>
#include<queue>
#include<algorithm>
using namespace std;
const int mm=1e5+9;
class node
{
  public:int kill,cost;
}f[mm];
int rabit[mm];
priority_queue<int ,vector<int>,greater<int> >q;
bool cmp(int a,int b)
{
  return a>b;
}
bool cmpp(node a,node b)
{
  return a.kill>b.kill;
}
int main()
{ int n,m;
  while(~scanf("%d%d",&n,&m))
  {
    for(int i=0;i<n;++i)
      scanf("%d",&rabit[i]);
    for(int i=0;i<m;++i)
      scanf("%d",&f[i].kill);
    for(int i=0;i<m;++i)
      scanf("%d",&f[i].cost);
    sort(rabit,rabit+n,cmp);
    sort(f,f+m,cmpp);
   while(!q.empty())q.pop();
   long long ans=0;int num=0;
   int j=0;
   for(int i=0;i<n;++i)
   {
     while(j<m&&f[j].kill>=rabit[i])
      q.push(f[j].cost),++j;
      if(q.empty())break;
     ans+=q.top();q.pop();
   }
   if(j<n)printf("No\n");
   else cout<<ans<<"\n";
  }
}



湫湫系列故事——消灭兔子 HDU - 4544(贪心+优先队列) 湫湫系列故事——消灭兔子 HDU - 4544 湫湫减肥   越减越肥!   最近,减肥失败的湫湫为发泄心中郁闷,在玩一个消灭免子的游戏。   游戏规则很简单,用箭杀死免子即可。   箭是一种消耗品,已知有M种不同类型的箭可以选择,并且每种箭都会对兔子造成伤害,对应的伤害值分别为Di(1 <= i <= M),每种箭需要一定的QQ币购买。   假设每种箭只能使用一次,每只免子也只能被射一次,请计算要消灭地图上的所有兔子最少需要的QQ币。 Input 输入数据有多组,每组数据有四行; 第一行有两个 阅读详情

相关推荐

HDU-4544 湫湫系列故事——消灭兔子 (贪心+优先队列)

题目思路 将兔子的血量从大到小排列,将箭的属性写在类中(结构体也成),排序按照伤害从大到小排列,若有相等的则按价格从小到大排。 代码 #include<bits/stdc++.h> using namespace std; int N, M; const int maxn = 100000+10; int b[maxn], d[maxn], p[maxn]; class Arrow {...

无论多么困难,也要熬下去!!! 308

HDU 4544 湫湫系列故事——消灭兔子 (优先队列)

湫湫系列故事——消灭兔子 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 138    Accepted Submission(s): 49 Problem Description   湫湫减肥  越减越肥!    最近,减肥失败的湫...

weixin_34247299的博客 284

C++实现贪心+优先队列算法

1、实现贪心+优先队列算法要求(消灭兔子)        n个兔子,每个兔子都有一个血量b[i] ;m种箭(每种各一支),每种箭都有伤害值d[i]和价格p[i] ;每个兔子只能被射一次,伤害值大于血量则死,每种箭只能用一次 ;问杀死所有兔子需要的最小价格为多少,若不能杀死,则No Solution m,n小于50000)。 2、实现思路       典型的贪心,每个兔子只能射一次,所以只能用...

程序猿老樊的博客 553

hdu 4544 湫湫系列故事——消灭兔子, 贪心算法+小顶堆

思路: 贪心算法 1)把所有兔子的血量安从大到小排序,并且把箭的伤害从大到小排序 2)排序后,从第一只兔子开始,把每支能杀死该兔子的箭的价格放到一个小顶堆里 3)若堆不空,获得小顶堆的堆顶元素,删除之,直到所有兔子都能被射死或者找不到一支射死兔子的箭结束 代码如下: #include #include #include #include using namespace st

small_small_chick的专栏 889

MDK开发篇:基于立创逻辑派FPGA-G1与Cortex-M1软核的按键控制LED实战

本文详细介绍了基于立创逻辑派FPGA-G1开发板与高云Cortex-M1软核的完整开发流程。通过Gowin云源软件配置软核系统与GPIO外设,并在Keil MDK环境中编写按键控制LED的C程序,最终实现程序固化与上电自启动。教程涵盖硬件配置、软件开发、在线调试与固化部署全步骤,帮助STM32开发者快速上手FPGA软核开发。

weixin_42103128的博客 147

微信小程序协同工作和发布

微信小程序协同工作和发布

qq_53114527的博客 1620

HDU-4544-湫湫系列故事——消灭兔子

昨天这个题被数据量给吓着了,以为贪心没有办法做,结果今天才发现超多人都是用贪心做的。唉,是数据水了? 今天用了2种方法做,其实昨天都有想过。 优先队列: 代码: #include #include #include #include const int maxn=10e4+10; using namespace std; struct row { int di; int

z309241990的专栏 988

使用VNC可视化Docker容器

Docker容器可视化

Robert_Q的博客 1万+

HDU 4544 湫湫系列故事——消灭兔子 (贪心+优先队列)

题目链接:HDU 4544 题面: 湫湫系列故事——消灭兔子 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 2488    Accepted Submission(s): 820 Problem Des

David_Jett 974

蓝牙Mesh协议一基本概念

前言 蓝牙SIG联盟在2017年发布了蓝牙Mesh1.0的协议规格,基于低功耗广播包来实现的多对多的通信技术,Mesh协议建立在BLE的物理层和链路层上,所以也可以和BLE的蓝牙进行通信 本章主要介绍蓝牙Mesh的基本概念和协议中的层级结构,也是参考网上的资料,如有异议,欢迎留言指正 基本概念 广播和洪泛 蓝牙Mesh技术是基于BLE的广播报文来实现的,是一种洪泛的消息传输机制,Mesh网络的节点间通过3个广播信道进行通信。当蓝牙Mesh网络中的节点收到消息后会转发这条消息,大大增加了网络的覆盖范围;但

9739

基于PSO-BP神经网络的风电功率预测研究论文复现

风电功率预测。基于PSO-BP神经网络的风电功率预测论文复现。matlab程序,注释清晰。

weixin_825487230的博客 2295

hdu 4544 湫湫系列故事——消灭兔子(优先队列 + 贪心)

Problem Description   湫湫减肥   越减越肥!      最近,减肥失败的湫湫为发泄心中郁闷,在玩一个消灭免子的游戏。   游戏规则很简单,用箭杀死免子即可。   箭是一种消耗品,已知有M种不同类型的箭可以选择,并且每种箭都会对兔子造成伤害,对应的伤害值分别为Di(1   假设每种箭只能使用一次,每只免子也只能被射一次,请计算要消灭地图上的所有兔子最少需要的Q

勿忘初衷 1464

高德地图爬虫

高德地图爬虫 工具:Pycharm,win10,Python3.6.4 1.需求分析 这篇爬虫和上一篇百度地图爬虫要求一样,百度地图爬虫我发现有一个auth参数会一直变化,一旦变化则获取的数据是不准确的,所以我上高德地图看了一下,高德地图没有这个反爬机制。但是高德地图大概爬取120个页面就会跳一次验证码,我这里是通过换IP解决这个问题的。 2.数据准备 同样我们需要全国地级市信息,用之前...

123的博客 1万+

hdu 4544 湫湫系列故事——消灭兔子 优先队列+贪心

将兔子的血量从小到大排序,箭的威力也从小到大排序, 对于每只兔子将威力大于血量的箭加入队列,写个优先队列使得出来数位价钱最少。。 #include #include #include #include #include using namespace std; const int maxn=100010; struct tt { int d; int p; bool operator<

asuxiexie的专栏 840

第14.7章 高翔博士最新开源框架Lightning-LM源码解读(七):PoseExtrapolator模块深度剖析,揭秘激光SLAM高频位姿外推核心技术

PoseExtrapolator是Lightning-LM框架中负责高频位姿外推的核心模块,通过融合DR(航位推算)、激光里程计和PGO(位姿图优化)数据实现精准实时定位。模块初始化依赖PGO数据,后续通过DR数据进行高频位姿更新,并利用PGO结果进行误差补偿。关键函数AddDRLocAndExtrapolate处理DR增量位姿,结合速度补偿机制逐步修正误差,保证高频输出的同时提升精度。该模块体现了多传感器融合思想,通过互补性数据(高频DR与低频高精PGO)实现鲁棒定位,代码中使用了SE3位姿表示、互斥锁保

行知SLAM 348

PLC为西门子的S7-1200,舵机为 DS3218,PLC控制舵机旋转程序实现?

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 998

湫湫系列故事——消灭兔子 HDU--4544 贪心算法+优先队列

题目链接 湫湫减肥 越减越肥! 最近,减肥失败的湫湫为发泄心中郁闷,在玩一个消灭免子的游戏。 游戏规则很简单,用箭杀死免子即可。 箭是一种消耗品,已知有M种不同类型的箭可以选择,并且每种箭都会对兔子造成伤害,对应的伤害值分别为Di(1 <= i <= M),每种箭需要一定的QQ币购买。 假设每种箭只能使用一次,每只免子也只能被射一次,请计算要消灭地图上的所有兔子最少需要的QQ币。 Input 输入数据有多组,每组数据有四行; 第一行有两个整数N,M(1 <= N, M <= 100

二进制宇宙的博客 443

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

HDU-4544-湫湫系列故事——消灭兔子--贪心+优先队列

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4544 Problem Description   湫湫减肥   越减越肥!      最近,减肥失败的湫湫为发泄心中郁闷,在玩一个消灭免子的游戏。   游戏规则很简单,用箭杀死免子即可。   箭是一种消耗品,已知有M种不同类型的箭可以选择,并且每种箭...

好好学习。天天编程 238

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

HDU4544 湫湫系列故事——消灭兔子(贪心算法,使用优先队列优化)

湫湫系列故事——消灭兔子 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 587    Accepted Submission(s): 221 Problem Description   湫湫减肥   越减越肥!

linygood的专栏 898

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

hdu 4544 湫湫系列故事——消灭兔子(优先队列+贪心)

1、http://acm.hdu.edu.cn/showproblem.php?pid=4544 2、题目大意: 湫湫系列故事——消灭兔子 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 910    Accepted S

sdjzping的专栏 2109

HDU - 4544 湫湫系列故事——消灭兔子(优先队列+贪心)

题目: 最近,减肥失败的湫湫为发泄心中郁闷,在玩一个消灭免子的游戏。游戏规则很简单,用箭杀死免子即可。箭是一种消耗品,已知有M种不同类型的箭可以选择,并且每种箭都会对兔子造成伤害,对应的伤害值分别为Di(1 <= i <= M),每种箭需要一定的QQ币购买。假设每种箭只能使用一次,每只免子也只能被射一次,请计算要消灭地图上的所有兔子最少需要的QQ币。 思路: 每个箭有两个...

weixin_30952103的博客 229

HDU - 4544 湫湫系列故事——消灭兔子 贪心+优先队列

【问题描述】 湫湫减肥,越减越肥! 最近,减肥失败的湫湫为发泄心中郁闷,在玩一个消灭免子的游戏。 游戏规则很简单,用箭杀死免子即可。 箭是一种消耗品,已知有M种不同类型的箭可以选择,并且每种箭都会对兔子造成伤害,对应的伤害值分别为Di(1 <= i <= M),每种箭需要一定的QQ币购买。 假设每种箭只能使用一次,每只免子也只能被射一次,请计算要消灭地图上的所有兔子最少需要的QQ币。【输入

灬豪侠彡 442

HDU4544 湫湫系列故事——消灭兔子(贪心+优先队列)

Problem Description 湫湫减肥   越减越肥!      最近,减肥失败的湫湫为发泄心中郁闷,在玩一个消灭免子的游戏。   游戏规则很简单,用箭杀死免子即可。   箭是一种消耗品,已知有M种不同类型的箭可以选择,并且每种箭都会对兔子造成伤害,对应的伤害值分别为Di(1 ),每种箭需要一定的QQ币购买。   假设每种箭只能使用一次,每只免子也只能被射一次,请计算要消灭

swust_wbh的专栏 589

hdu 4544 湫湫系列故事——消灭兔子(贪心,优先队列)

湫湫系列故事——消灭兔子 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 2327    Accepted Submission(s): 771 Problem Description   湫湫减肥   越减越肥

TUT我好菜啊 570

hdu 4544 湫湫系列故事——消灭兔子 贪心+优先队列 解题报告

湫湫系列故事——消灭兔子 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 2332    Accepted Submission(s): 773 Problem Description   湫湫减肥   越减越肥

小夥的博客 412

HDU4544 湫湫系列故事——消灭兔子 (贪心+优先队列)

  湫湫系列故事——消灭兔子   Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 3019    Accepted Submission(s): 999     Problem Description   湫湫减肥   越减...

知与谁i的博客 567
上一篇: 线段树的分析理解(不定期更新)
下一篇: Codeforce 65D - Harry Potter and the Sorting Hat(DP+hash+set)
剑不飞
博客等级 码龄15年 86粉丝 505原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值