优先队列练习(又是我大钟神)
【问题描述】
现在有m个位置可以打 sif,有n+1个人在排队等着打 sif。现在告诉你 个人每个人需要多长的时间打 sif,问你第? +1个人什么时候才能打 sif。 (前?
个人必须按照顺序来)
【输入格式】
第一行两个整数n,m如上所述。
接下来?行每行一个整数代表每个人所需要用的时间。
【输出格式】
一行一个整数表示答案。
【样例输入】
3 2
1
1
1
【样例输出】
1
【样例解释】
山里有座庙,庙里住着钟神。
【数据规模与约定】
对于100%的数据,每个人所需用的时间不超过10 5 。
测试点 n m 测试点 n m
1 10 10 1 5000 500
2 20 10 2 100000 5000
3 50 10 3 100000 10000
4 1000 500 4 100000 20000
5 2000 500 5 100000 50000
思路:
priority_queue(优先队列)维护m个位置上打sif的人已经用的时间总和;
每次根据优先队列的性质来维护最小的那个位置;
等到n次维护之后输出最小值;
但是我们维护的是最小值,所以我们需要的是一个小根堆,但是我着实不愿手写堆(毕竟是个蒟蒻);
所以我们对大根堆(优先队列)进行一丝丝的优化使他成为一个稍稍变态的小根堆;
这个优化是什么呢?
哈
就是所有的元素都乘-1;
来,上代码:
#include<queue> #include<cstdio>using namespace std;int n,m,ai[100001],cur;char ch;priority_queue<int>q;void qread(int &x) {x=0;ch=getchar();while(ch>'9'||ch<'0') ch=getchar();while(ch<='9'&&ch>='0'){x=x*10+(int)(ch-'0');ch=getchar();} }int main() {qread(n),qread(m);for(int i=1;i<=n;i++){qread(ai[i]),ai[i]*=-1;if(q.size()<m) q.push(ai[i]);else{cur=q.top();q.pop();cur+=ai[i];q.push(cur);}}cur=q.top()*(-1);printf("%d\n",cur);return 0; }
转载于:https://www.cnblogs.com/IUUUUUUUskyyy/p/6037463.html
优先队列练习(又是我大钟神)相关推荐
- AC日记——由乃与大母神原型和偶像崇拜 洛谷 P3792
由乃与大母神原型和偶像崇拜 思路: 逆元+线段树维护和+线段树维护平方和+线段树维护最大最小值: 代码: #include <bits/stdc++.h>using namespace s ...
- 计算机三级上机场,自学通过计算机二级、三级、四级,保研天津大学,证书拿到手软!你被中航大男神圈粉了吗?...
原标题:自学通过计算机二级.三级.四级,保研天津大学,证书拿到手软!你被中航大男神圈粉了吗? 他刻苦努力.勤奋踏实,是学习上的巨人:他团结同学.真诚善良,是生活中的强者.他将自己的真心融于生活中,以公 ...
- 报时功能_厦门宝藏 | 海关大钟悠扬的鸣曲报时,承载着老厦门人无数的记忆!...
生活在海沧大道 海关钟楼附近的人们 从2017年开始每天都能听到 海关大钟悠扬的鸣曲报时 早晨8点是<东方红> 中午12点是<威斯敏斯特钟声> 傍晚6点是<鼓浪屿之波&g ...
- 赛车编程用c语言,钟神赛车 (C++代码)自己AC了都觉得搞笑
解题思路: 一开始看到是想到田忌赛马的故事,题目也就是按照田忌赛马的思路来求赢的最多场数 这题我还真的是投机取巧AC的,原本想试试的而已,结果却AC了,我都笑了 我的思路是这样的 a是某君 ,b是 ...
- 我的世界python代码_用Python在“我的世界”里建一个既能看时间又能当地标的大钟...
在"我的世界"的天空里创建一个大表,来显示真实世界的时间.这样不仅可以使天空更加多彩,而且还能作为一个地标.当你浪的离家太远找不到归家的路了,只要在天空中看见它,你就会知道离家不远 ...
- 阿里大数据神预测 胜率仅5.9%中国却1:0胜韩国
写在最前面:这是早晨偶然看到的一篇文章,是对昨天中国却1:0胜韩国的评论.有朋友感慨:努力不放弃的时候,全世界都会帮你.这篇内容很全面的串起阿里巴巴在大数据预测方面的动作,角度很别致,分享给大家. 原 ...
- 2019网络小说十大口碑神作盘点,诡秘剑来谍影覆汉牧神学霸皆在
今天是2019年的最后一天,往前数这一年出现的网络小说,有不少作品还是非常惊艳的,除了有老牌大神的经典之作,也有新崛起的创新之作. 今年好看的小说肯定不止十本,这里先提前说明,这样的盘点带有很强的个人 ...
- iMeta|西工大钟杨权威等-根系菌群沿环境梯度的响应机制
点击蓝字 关注我们 土壤与根系微生物群落组装过程与共发生网络沿环境梯度的差异性响应机制 https://doi.org/10.1002/imt2.18 4.5 iMeta RESEARCH ARTIC ...
- 鸿蒙之境大司命,神都夜行录鸿蒙之境怎么打 神都夜行录鸿蒙之境通关攻略解析...
神都夜行录鸿蒙之境每日挑战玩法是大家都很喜欢的玩法,很多小伙伴不知道鸿蒙之境挑战阵容怎么搭配最好?下面小编为大家分享一篇鸿蒙之境挑战副本的打法攻略,一起来看看! 神都夜行录鸿蒙之境挑战玉璧:神都夜行录 ...
- 一周刷爆LeetCode,算法大神左神(左程云)
P2认识时间复杂度和简单排序算法 912. 排序数组 只要是排序相关的代码(冒泡,选择,插入)的测试都是在这个上面完成的 public class P2认识复杂度和简单排序算法{public stat ...
最新文章
- 如何修改系统时间显示格式
- 解答:CF截图保存在哪
- eigen跟踪MILTracker
- 级联分类器训练及其参数的含义
- 游戏中用到的设计模式
- Java集合框架:LinkedHashMap
- Unsupported major.minor version 51.0(jdk版本错误)
- Redis学习第五课:Redis Set类型及操作
- uni-app获取腾讯地图计算两经纬度的实际距离(可批量)
- 转:给.net 程序员的一些建设
- TFS集群间数据迁移任务总结
- 在vuex的mutations中使用vue的小技巧
- 添加删除windows的系统服务
- 使用HALCON进行图像分类——图像分类(系统讲解,附模板例程精讲)
- 使用SQLParameter解决SQL注入问题
- 服务器 iis ftp配置文件,如何:在 IIS 中创建和配置 FTP 站点
- uniapp在移动端软键盘监听(弹出,收起),及影响定位布局的问题
- 八段数码管数字显示实验c语言,实验报告__实验七_八段数码管显示实验
- Kaggle竞赛:San Francisco Crime Classification(旧金山犯罪分类) 参赛心得
- 普通最小二乘法讲解OLS线性回归
热门文章
- 新塘linux启动过程,NUC972调试笔记之NAND分区调整新增
- PHP学习笔记五(命名空间)
- linux 中断程序设计,linux – CPU0被eth1中断淹没
- 挑选了适合测试边界的汉字及截图
- LINUX终端可以使用reset清除所有输出
- 全网首发:C++中通过POST向服务器发送JSON的代码
- 在一台机器上使用gluster
- 管理感悟:经历不是经验,套路才是
- 管理感悟:忙的真正含义是没心思
- idea非活动变更列表中的文件被修改,IntellJ IDEA中的更改列表是什么?一个变化列表比较什么?寻求准确的解释...