当前位置:网站首页>2020icpc亚洲区域赛(济南)M题Cook Pancakes(小根堆的应用)
2020icpc亚洲区域赛(济南)M题Cook Pancakes(小根堆的应用)
2022-08-03 17:46:00 【ZaneBobo】
一.题意:
你有一个锅,锅的容量是k个饼,就是可以同时煎k个饼的一面,你有n个饼需要煎双面,饼面煎熟需要1小时,问你使用容量为k的锅去煎n个饼至少需要几小时。
二.用小根堆的目的(思路):
小根堆里面存0/1/2 0代表1面没煎过,1代表煎过一面,2代表这个饼已经煎完了。
优先煎煎过次数较少的饼
使得每次剩下两面都没煎的饼尽量少(这样的话剩余的同类面(在一个饼上,不能同时煎的面)就会尽量少)这样的话就能够充分利用锅,可以尽可能的一次煎多个饼的面。
三.代码:
#include<iostream>
#include<vector>
#include<queue>
using namespace std;
const int N=100;
priority_queue<int,vector<int>,greater<int>> heap;//小根堆形式
int main()
{
int n,k;
cin>>n>>k;
if(n<=k)//如果这样的话,如果进入下面的小根堆循环,就会是1
//因为如果容量大于个数的话,两个同类面会同时煎
{
cout<<2<<endl;
return 0;
}
for(int i=1;i<=n;i++)
{
heap.push(0);
}
int h=0;
while(heap.top()<2)
{
int t=k;
while(t--)
{
heap.push(heap.top()+1);
heap.pop();
}
h++;
}
cout<<h<<endl;
}
我那年的集训队面试题,真是怀念qwq。
边栏推荐
- IP属地如何高效率识别
- 酷开科技 × StarRocks:统一 OLAP 分析引擎,全面打造数字化的 OTT 模式
- JVS低代码移动端接入方案
- 一个域名对应多个IP地址
- 一键进入华为云会议,长期免费值得所有开发团队有一套【华为云至简致远】
- 开篇-开启全新的.NET现代应用开发体验
- Map和Set
- A complete detailed tutorial on building intranet penetration ngrok (with pictures and truth)
- China Hashpower Conference Ascension Kunpeng Ecological Forum was held; Kuaishou established an independent to B business department…
- 图像质量指标:PSNR、SSIM、MSE
猜你喜欢
随机推荐
这是Facebook母公司 关于元宇宙的80万亿美元豪赌
你想知道的 Watch App 开发
TiFlash 计算层概览
如何直击固定资产管理的难题?
Uniswap或将开启“费用开关”,UNI持有者可享受分红
一加Ace值得买吗?用实力诠释性能的强大
图像传感第一章学习心得
JS 字符串转 GBK 编码超精简实现
JSON.stringify()的深入学习和理解
Gson 学习笔记
链表中倒数第k个结点
【JS】利用JS给删除按钮添加提示框
cell delay and net delay
JS string to GBK encoding ultra-reduced implementation
目标检测-YOLOv3理论讲解
【技术白皮书】第一章:OCR智能文字识别新发展——深度学习的文本信息抽取
Win11系统的显卡驱动安装的详细方法步骤
借助Web3盘活日本优质IP:UneMeta 与 OpenSea 的差异化竞争
pydev debugger: warning: trying to add breakpoint to file that does not exist: /tmp/xxx
Cool open technology x StarRocks: unified OLAP analysis engine, comprehensive building digital model of OTT