2520 牛的舞蹈表演 二分答案 优先队列

news/2024/9/30 17:22:52

解决思路

 
  • 二分查找:使用二分查找来确定舞台的最小大小 K。

 

  • 检查函数:定义一个检查函数 check(mid),判断在舞台大小为 mid 时,演出是否能在 T_max 时间内完成。

 

  • 优先队列:使用优先队列模拟舞台上的奶牛,确保每次有奶牛完成表演时,下一头奶牛立即上台。
 
  • 更新边界:根据检查函数的结果,更新二分查找的边界,直到找到最小的 K。
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 1e5 + 10;
int n, a[N], t;// 检查在舞台大小为 mid 时,演出是否能在 T_max 时间内完成
bool check(int mid) {priority_queue<int, vector<int>, greater<int>> q;for (int i = 1; i <= mid; i++) q.push(a[i]);for (int i = mid + 1; i <= n; i++) {int minn = q.top(); q.pop();q.push(minn + a[i]); // 新加入队列的 a[i] 必须是 top() 结束后加入的,而 top() 跳了 minn 时长
    }while (q.size() > 1) q.pop(); // 全部弹出,队列的最后一人就是整个队伍的跳舞时长return q.top() <= t;
}int main() {// 读取奶牛数量和演出可进行的最长时间cin >> n >> t;for (int i = 1; i <= n; i++) cin >> a[i];int L = 1, R = n, ans = n;while (L <= R) {int mid = (L + R) >> 1;if (check(mid)) {ans = mid;R = mid - 1;} else {L = mid + 1;}}cout << ans;return 0;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/66569.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

高级语言程序设计第二个作业

属于课程:https://edu.cnblogs.com/campus/fzu/2024C/homework/13282 要求在:https://edu.cnblogs.com/campus/fzu/2024C/homework/13282 学号:102400117 姓名:廖逸轩以上是习题。这几个顺序是随机的,因为我最后编序号忘了哪个是哪个了...... 问题:printf里面输入引号里面…

高级语言程序设计课程第二次个人作业

这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/2024C/ 这个作业要求在哪里:https://edu.cnblogs.com/campus/fzu/2024C/homework/13282 学号:102400227 姓名:谭培![](h ttps://img2024.cnblogs.com/blog/3525132/202409/3525132-20240930170319149-356045001.p…

vue2实现字体修改(全局/局部字体引入修改)/添加文字渐变色样式

1.创建一个全局 CSS 文件 创建一个单独的 CSS 文件,例如 fonts.css,然后在 main.js中引入。 fonts.css 文件内容: @font-face {font-family: youshebiaotihei;src: url(../../fonts/youshebiaotihei.ttf) format(truetype); /* 引用字体,但非全局使用 */font-weight: norma…

async/await 函数到底要不要加 try catch ?

前言 写异步函数的时候,promise 和 async 两种方案都非常常见,甚至同一个项目里,不同的开发人员都使用不同的习惯, 不过关于两者的比较不是本文关注的重点,只总结为一句话:“async 是异步编程的终极解决方案”。 当使用 async 函数的时候,很多文章都说建议用 try catch 来…

UOS 1070/Deepin 23环境下安装Master PDF Editor 5.8.35

UOS 1070/Deepin 23环境下安装Master PDF Editor 5.8.35在UOS 1070环境下,有福昕PDF编辑器可以使用,但是升级到Deepin v23之后,福昕编辑器就无法安装了,需要换工具。 比较好用的就是Master PDF Editor,安装注册也非常简单,现在写到这里,作为记录。# 目前最方便安装的是m…

深度学习系列之1----直观解释Transformer

Abstract 这个系列主要用来记录我自己这种的AI小白的学习之路,通过将所学所知总结下来,记录下来。之前总喜欢记录在笔记本上,或者ipad上,或者PC端的Typora上,但总是很难回头检索到一些系统的知识,因此我觉得博客是一个不错的选择,因为时不时我就会登录网站翻看过去的痕迹…

chrome-截图录屏插件-Awesome Screenshot

💖简介 Awesome Screenshot 截图录屏是一款浏览器扩展程序,它可以帮助用户进行网页截图、编辑图片以及录制屏幕视频 📖版本 4.4.22 🌟功能截图:可以截取整个网页(即使是需要滚动才能看到的部分)、可见部分或者选定区域。 编辑:截图后可以直接在浏览器中对图片进行编…