h的蓝桥杯每日一题

2.烤肠试吃【算法赛】 - 蓝桥云课

这个题主要是考察的二分+贪心结合去找最小值最大化的问题

在这个题当中我们可以看到需使用优先队列(最小堆)来管理烤架可用时间(快速找到最早可用烤架)

cpp 复制代码
#include<iostream>
#include<vector>
#include<algorithm>
#include<queue>
using namespace std;
typedef long long ll;
const int N=100010;
ll n,k,d;
ll a[N];
bool can(ll t)
{
	priority_queue<ll,vector<ll>,greater<ll>> pq;
	for(int i=0;i<k;i++)pq.push(0);
	for(int i=0;i<n;i++)
	{
		ll avail=pq.top();//空闲烤架的时间 
		pq.pop();
		ll start=max(avail,a[i]);//得到目前能用烤架的最小时间 
		ll finish=start+d;//得到考场的时间 
		if(finish>t)return false;
		pq.push(finish);
	}
	return true;
}

int main()
{
	cin>>n>>k>>d;
	for(int i=0;i<n;i++)cin>>a[i];
	sort(a,a+n);
	ll l=a[0]+d;
	ll r=a[n-1]+n*d;
	while(l<r)
	{
		ll mid=l+(r-l)/2;
		if(can(mid))
		{
			r=mid;
		}
		else l=mid+1;
	}
	cout<<l<<endl;
	return 0;
}
相关推荐
qq_459234424 天前
【题库】| 商用密码应用安全性评估从业人员考核题库(四十)
职场和发展·密码学·学习方法·考核·商用密码·商用密码应用安全性评估·密评
敲敲了个代码4 天前
[特殊字符] 空数组的迷惑行为:为什么 every 为真,some 为假?
前端·javascript·react.js·面试·职场和发展
诚思报告YH4 天前
视频面试软件市场洞察:2026 - 2032年复合年均增长率(CAGR)为10.3%
面试·职场和发展
重生之后端学习4 天前
74. 搜索二维矩阵
开发语言·数据结构·算法·职场和发展·深度优先
tyb3333334 天前
leetcode:吃苹果和队列
算法·leetcode·职场和发展
Pitiless-invader4 天前
MySQL 相关知识及面试问题汇总
面试·职场和发展
重生之后端学习4 天前
35. 搜索插入位置
java·数据结构·算法·leetcode·职场和发展·深度优先
逆境不可逃4 天前
【从零入门23种设计模式08】结构型之组合模式(含电商业务场景)
线性代数·算法·设计模式·职场和发展·矩阵·组合模式
筱昕~呀4 天前
冲刺蓝桥杯-DFS板块(第二天)
算法·蓝桥杯·深度优先
zheshiyangyang4 天前
前端面试基础知识整理【Day-10】
前端·面试·职场和发展