UVA11292杀怪
题意:
一个怪物有N个头,每个头都有半径,然后有M个骑士,每个骑士能砍掉半径小于等于
X[i]的头,花费为X[i],并且一个骑士只能用一次,问砍掉怪物所有头的最小花费。
思路:
比较简单的贪心题,我是直接把头和骑士都放在一起,然后从大到小排序下,如果
权值一样的让骑士在前面,然后开始枚举每一个点,如果当前点是骑士,那么直接进栈,如
果不是骑士,那么就从栈里取出一个,这个肯定是最省钱而且肯定可以砍掉这个头的,如果
该从栈里取东西的时候栈里空了,那么就完不成任务了。
#include<stack>
#include<stdio.h>
#include<algorithm>
#define N 20000 + 20000 + 5
using namespace std;
typedef struct
{
int x ,k;
}NODE;
NODE node[N];
bool camp(NODE a ,NODE b)
{
return a.x > b.x || a.x == b.x && a.k > b.k;
}
int main ()
{
int n ,m ,i ,Ans ,ss;
while(~scanf("%d %d" ,&n ,&m) && n + m)
{
for(i = 1 ;i <= n ;i ++)
scanf("%d" ,&node[i].x) ,node[i].k = 0;
for(i = 1 ;i <= m ;i ++)
scanf("%d" ,&node[i+n].x) ,node[i+n].k = 1;
sort(node + 1 ,node + n + m + 1 ,camp);
ss = 0;
if(m < n) Ans = 0;
else
{
stack<int>sk;
for(i = 1 ;i <= n + m ;i ++)
{
if(node[i].k) sk.push(node[i].x);
else
{
if(sk.empty()) break;
else
{
ss += sk.top();
sk.pop();
}
}
}
if(i == n + m + 1) Ans = 1;
else Ans = 0;
}
Ans ? printf("%d\n" ,ss) : puts("Loowater is doomed!");
}
return 0;
}
UVA11292杀怪相关推荐
- HDU 5281 Senior#39;s Gun 杀怪
题意:给出n把枪和m个怪.每把枪有一个攻击力,每一个怪有一个防御力.假设某把枪的攻击力不小于某个怪的防御力则能将怪秒杀,否则无法杀死.一把枪最多仅仅能杀一个怪,不能用多把枪杀同一个怪.每杀一次怪能够得 ...
- 我的世界JAVA挂机杀怪有经验_5分钟教你打造mc最简单的刷经验机!挂机就能无限经验?...
在<我的世界>中,萌新经常会走入这么一个误区:"有等级?那我多刷刷经验把等级升上去,是不是就能变厉害了?" 然而,mc中的等级提升并不会增加史蒂夫的任何属性,经验仅仅只 ...
- 设置杀怪KillMonBurstRate爆率、KillMonExpRate经验倍数
KillMonBurstRate爆率 KillMonExpRate经验 KILLMONBURSTRATE 倍率(实际倍率除以100)有效时间(时间为0或者为空时表示在线一直有效) 参数3 为0时下线不 ...
- 传奇脚本-记录杀怪数量-克肝
利用QFunction文件的杀怪字段,记录用户数据. 可读取.比较相应数据值,选择执行各个分支以达到克肝功能! [@OnKillMob] #IF #ACT CALCVAR HUMAN 杀怪数量 + 1 ...
- NIT-OJ-1411-恶魔杀怪-解题报告
在魔兽世界里,猎手碰到了一个怪物,准备杀怪升级.此时猎手和怪物的血量分别为B1,B2 ,我们已知猎手对怪物的每次攻击伤害为a ,而怪物每次对猎手的伤害为b (攻击的伤害值,即为被攻击者血量减少的数值) ...
- LintCode 1683. 杀怪兽(队列)
1. 题目 有 n 只怪兽和一个奥特曼,奥特曼和怪兽都有5个属性值. 当且仅当奥特曼的5个属性值都不小于怪兽时,奥特曼可以杀死怪兽. 当一个怪兽被杀掉时,这个怪兽的5个属性会增加到奥特曼身上. 请问奥 ...
- 我的世界JAVA挂机杀怪有经验_我的世界如何快速获得经验?
唔居然没人讲到龙塔. 末影龙经验农场,绝对一流的效率. [机理] 首先,大家都知道末影龙死亡动画播放时那个经验得多哇.好,那我就让它反反复复地死,从而得到大量的经验. 如何反复死亡?利用区块的Load ...
- 《骑马与砍杀》:CRPG精神的另类复活
这里面讲的CRPG,是更公认的computer role-playing game,即电脑角色扮演游戏的意思,而非指<骑马与砍杀>系列著名的联机MOD<cRPG>. 如果要评论 ...
- 七日杀服务器无限刷空投,七日杀空投作弊代码 | 手游网游页游攻略大全
发布时间:2018-05-12 作为一款生存游戏确实非常优秀,各位玩家觉得有难度的,不妨试试使用控制台修改修改.这里小编给大家带来了控制台代码大全,感兴趣的玩家一起来看看吧. 开启作弊方法是在游戏中按 ...
最新文章
- 使用webpack构建多页应用
- TF-IDF算法百度附有代码 有解吧实现中文分词
- HDU2594——Simpsons’ Hidden Talents
- 红旗linux mysql_恢复 - 红旗Linux案例精选:Amanda集中备份实例详细讲解_数据库技术_Linux公社-Linux系统门户网站...
- 中国移动发布5G权威测评:华为Mate 20 X 以强劲性能拔得头筹
- iphone 原型工具
- Python 爬取了 121.3 万条大众点评,告诉你哪里的小龙虾才是一绝!
- ECCV2020 | CPNDet:Anchor-free两阶段的目标检测框架,详解
- 邻接矩阵转换为邻接表;邻接表转换为邻接矩阵
- 怎么删除服务中的mysql服务
- YYKit源码学习——YYMemoryCache
- 墙裂推荐9个在线图片压缩网站
- JQuery的选择器对控件ID含有特殊字符的解决方法
- JAVA音程_桌面应用|与 Linux 一起学习:学习音乐
- 电脑控制手机投屏同步声音
- 车路协同、智慧交管、自动驾驶场景应有尽有,智能交通行业实战课火爆开启...
- 华钜同创:亚马逊新品流量黄金期如何利用
- AI-DPL, you should know
- 论文《Depth Estimation From a Light Field Image Pair With a Generative Model》学习
- Ubuntu 12.04-12.10 Linux 3D桌面完全教程,显卡驱动安装方法,compiz特效介绍,常见问题解答