LZJ的圣剑,第二次模拟赛,贪心
正文
题目描述:你正想出去走走,但是突然来了一只怪物,幸运的,你有N把剑,每把剑有两个属性,分别是ai和bi。ai表示握着这把剑的攻击力,你可以握着这把剑攻击怪物任意次数,bi表示把这把剑扔向怪物的攻击力,这把剑扔向怪物后,怪物会受bi点伤害,然后你就失去了这把剑这个怪物最多能承受H点攻击,即在受到H点攻击或以上,就会消失请问让怪物消失的最少攻击次数。
那么我们就会想到贪心,肯定是优先用攻击力大的剑,那么我们是应该用ai大的呢?还是bi大的呢?
很明显是合起来最大的。首先我们要知道,先扔再A,和先A(普攻)再扔是一个道理,因为就算你在程序里默认先扔再A,现实生活中还是可以反过来的对不啦~。
然后我们知道,找出最大那把ai的剑,然后bk大于它的都先扔出去,然后再不断用这把剑A。明显,没有什么其他的方案比这个更优。
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;int n;
long long h;
struct node{//1为a,2为b int d,x;bool operator<(const node y)const{return d>y.d;}
}s[200010];int main(){freopen("b.in","r",stdin);freopen("b.out","w",stdout);scanf("%d %lld",&n,&h);for(register int i=1;i<=n;i++) {int x,y;scanf("%d %d",&x,&y);s[2*i-1].d=x;s[2*i-1].x=1; s[2*i].d=y;s[2*i].x=2;} n*=2;sort(s+1,s+1+n);long long tot=0;int ans=0;for(register int i=1;i<=n;i++){if(s[i].x==2){tot+=s[i].d;ans++;}else break;if(tot>=h) break;}if(tot>=h) {printf("%d\n",ans);return 0;} h-=tot;if(h%s[ans+1].d==0) ans+=h/s[ans+1].d;else ans+=h/s[ans+1].d+1;printf("%d\n",ans);
}
LZJ的圣剑,第二次模拟赛,贪心相关推荐
- 第十四届蓝桥杯第二期模拟赛 【python】
第十四届蓝桥杯第二期模拟赛 [python] 文章目录 第十四届蓝桥杯第二期模拟赛 [python] ✨最小的2022 (python二进制) ❓️问题描述 答案提交
- 蓝桥杯|2021第十二届蓝桥杯第二次模拟赛真题与解答[Java]
记录2021年第十二届蓝桥杯第二次模拟赛真题与解题,部分答案来自网络.个人记录,菜得很. 目录 填空题 一 二 三 四 五 编程题 六 七 八 九 十 填空题 一 问题描述 请问在 1 到 2020 ...
- 蓝桥杯2021 第二期模拟赛
目录: 1.二进制数 2.整倍数 3.要求序列 4.无向图的结点 5.字母距离 6.时间调整 7.平行四边形 好久不见xdm,今天写什么呢?今天被蓝桥杯模拟赛打了一顿,说难也不难 一起来看吧 1.二进 ...
- 第十二届蓝桥杯第二期模拟赛(java) python解法
A 问题描述 小明要用二进制来表示 1 到 10000 的所有整数,要求不同的整数用不同的二进制数表示,请问,为了表示 1 到 10000 的所有整数,至少需要多少个二进制位? 结果:14 print ...
- 「Vijos 1285」「OIBH杯NOIP2006第二次模拟赛」佳佳的魔法药水
佳佳的魔法药水 背景 发完了k张照片,佳佳却得到了一个坏消息:他的MM得病了!佳佳和大家一样焦急万分!治好MM的病只有一种办法,那就是传说中的0号药水--怎么样才能得到0号药水呢?你要知道佳佳的家境也 ...
- 蓝桥杯第二次模拟赛JAVA题解
- 蓝桥杯模拟赛第二场(web)
文章目录 蓝桥杯模拟赛第二场(web) 1 卡片化标签页 2 随机数生成器 3 个人博客 4 学生成绩统计 5 水果摆盘 6 给页面化个妆 7 小兔子爬楼梯 8 时间管理大师 9 购物车 10 菜单树 ...
- 2020.03.18模拟赛17(第二题)
2.[GDKOI训练]音乐节拍(mnotes) 题目描述 FJ准备教他的奶牛弹奏一首歌曲,歌曲由N(1<=N<=50,000)种音节组成,编号为1到N,而且一定按照从1到N的顺序进行弹奏, ...
- 2021年 第十二届蓝桥杯第二期校内模拟赛题解(Java版)
时隔多日,终于会写一些简单DP了哈哈哈! 稍微改版,方便阅读,若有错,请指出 2019年 第十届蓝桥杯省赛题解(JavaB组版) 2020年 第十一届蓝桥杯第一场省赛题解(JavaB组版) 2020年 ...
- 【WZOI第二次NOIP模拟赛Day1T2】世界末日 解题报告
[WZOI第二次NOIP模拟赛Day1T2]世界末日 Problem 2 世界末日 (doomsday.pas/c/cpp) 背景 话说CWQ大牛终于打开了那扇神秘大门,但迎接他的不是什么神秘的东西, ...
最新文章
- Udacity机器人软件工程师课程笔记(十)-ROS-Catkin-包(package)和gazebo
- MVP 2008全球峰会可预订宾馆,寻室友
- python 提高文件查询效率_Python 大量小文件存储提高效率的简单示例
- 使用JWT进行跨域身份验证
- 腾讯抗黑灰产——自监督发现行话黑词识别一词多义
- Unity3d 手机屏幕自动适配
- Pytorch torch.topk()的简单用法
- android 关闭上下文菜单,【Android笔记】ContextMenu上下文菜单
- linux多线程编程介绍
- MYSQL8.0 OCP考试题库(如需完整版请留言)
- 载波频率成分法——理论公式
- 使用冒泡排序实现数字的升序排列
- Python爬虫天气预报(小白入门)
- Flutter 热更新功能实现
- 机器学习之变分推断(三)基于平均场假设变分推断与广义EM
- jQuery学习-基本使用
- Flutter 淡入淡出效果
- 【NOIP2016提高A组模拟9.24】天使的分裂
- 苹果手机计算机怎么看计算历史记录,苹果计算机怎么看计算记录
- 《惢客创业日记》2019.05.09(周四)给美女让座的大叔
热门文章
- [交互问题]XML 解析错误:格式不佳
- libvirt live migration 流程
- CSDN独家全网首发专栏 | 《目标检测YOLO改进指南》改进涨点推荐!
- 5G 38.300 Rel15 中文版
- Cisco Packet Tracer Student 两个路由器级联
- selenium操作firefox
- 移动App测试中的最佳做法
- ElasticSearch 7.X的基础教程二(Es安装教程)
- Java基础英语单词表
- 部署CM报错(7):hue无法访问hbase报错:HBase Thrift 1 server cannot be contacted: Could not connect to hadoop02:90