hihocoder1705 座位问题
思路:
使用堆模拟。复习了priority_queue自定义结构体比较函数的用法。
实现:
#include <bits/stdc++.h>
using namespace std;
typedef pair<int, int> pii;
int n, m, k; struct cmp
{
bool operator()(const pii & a, const pii & b)
{
if (a.first != b.first) return a.first < b.first;
return a.second > b.second;
}
};
int main()
{
cin >> n >> m >> k;
priority_queue<pii, vector<pii>, cmp> q;
vector<int> v;
int x;
for (int i = ; i < m; i++) { cin >> x; v.push_back(x); }
v.push_back(); v.push_back(n + );
sort(v.begin(), v.end());
for (int i = ; i < v.size() - ; i++) q.push(pii(v[i + ] - v[i] - , v[i] + ));
for (int i = ; i < k; i++)
{
pii tmp = q.top(); q.pop();
int pos = tmp.second + (tmp.first - ) / ;
cout << pos << endl;
q.push(pii(pos - tmp.second, tmp.second));
int r = tmp.second + tmp.first;
q.push(pii(r - pos - , pos + ));
}
return ;
}
hihocoder1705 座位问题的更多相关文章
- HihoCoder1705: 座位问题(STL)
描述 HIHO银行等待区有一排N个座位,从左到右依次编号1~N.现在有M位顾客坐在座位上,其中第i位坐在编号Ai的座位上. 之后又陆续来了K位顾客,(K + M ≤ N) 他们都会选择坐在最" ...
- 团体程序设计天梯赛-练习集L2-010. 排座位
L2-010. 排座位 时间限制 150 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位. ...
- L2-010. 排座位
L2-010. 排座位 题目链接:https://www.patest.cn/contests/gplt/L2-010 并查集 相关题目:L2-007. 家庭房产,L3-003. 社交集群 下午打的时 ...
- L2-010 排座位 (25 分) (最短路)
链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805066135879680 题目: 布置宴席最微妙的事情,就是给前 ...
- L1-049 天梯赛座位分配
L1-049 天梯赛座位分配 (20 分) 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情.为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i ...
- 航班座位_hihocoder
题目2 : 航班座位 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi在给一个家庭旅游团订某次航班的机票.该航班的飞机一共有N排座位,每排座位有10个座位,从左到右 ...
- [SQL]LeetCode626. 换座位 | Exchange Seats
SQL架构 Create table If Not Exists seat(id )) Truncate table seat insert into seat (id, student) value ...
- 20190320xlVBA_考场座位设置
花了一写时间做了一个Excel宏工作簿,可以根据考场人数.座位排列和考生名单 生成<考试座位表><考生去向表><考试通知单>,想要的前往了解哦: https://i ...
- 洛谷P1386座位安排
座位安排 今天,在机房里做了这道题目,我来整理一下思路. 首先读懂题意,这n个人是不需要按1到n来一次安排的,也就是说你可以先安排任意一个人. 那么有一种很好排除的情况,那就是对于大于等于i的作为的需 ...
随机推荐
- 我的package.json清单
{ "name": "lists", "version": "1.0.0", "main": &qu ...
- 命题作文:在一棵IPv4地址树中彻底理解IP路由表的各种查找过程
这是一篇命题作文.近期一直想写点东西,但一直找不到题目.正好收到一封邮件,有人问我Linux路由表的布局问题以及路由缓存的问题,加之前些日子又帮人做了一个片上路由表,所以认为这是个好题目,索性花了多半 ...
- nhibernate的关系
用nhibernate,觉得比较难把握的是其中表间的关系. 我用的是Fluently Nhibernate,直接用代码,而不是XML来书写代码与数据表的映射.其中表间关系有3种: 1.Referenc ...
- 【bzoj4320】ShangHai2006 Homework
若Y小于等于sqrt(300000),暴力,对所有的插入的数都更新mn[i]. 若Y大于sqrt(300000),枚举kY,用并查集维护>=i的第一个数,这样只支持删除操作是O(1),然后倒着枚 ...
- Effective C++学习笔记(Part Four:Item 18-25)
近期最终把effectvie C++细致的阅读了一边.非常惊叹C++的威力与魅力.近期会把近期的读书心得与读书笔记记于此,必备查找使用,假设总结有什么不 当之处,欢迎批评指正: 如今仅仅列出框架 ...
- hdu4908 & BestCoder Round #3 BestCoder Sequence(组合数学)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4908 BestCoder Sequence Time Limit: 2000/1000 MS (Jav ...
- 《编程珠玑,字字珠玑》读书笔记完结篇——AVL树
写在最前面的 手贱翻开了<珠玑>的最后几章,所以这一篇更多是关于13.14.15章的内容.这篇文章的主要内容是“AVL树”,即平衡树,比红黑树低一个等次.捣乱真惹不起红黑树,情况很复杂:而 ...
- MFC优秀博客记录 鸡啄米
最近在学习和利用C++ MFC做一些小的应用,发现鸡啄米先生的教程很不错适合新手,在这就把自己实现的一些小demo分享一下: C++编程入门系列之目录和总结 第一部分:C++编程概述 第二部分:C++ ...
- 洛谷 P4011 孤岛营救问题【bfs】
注意: 一个点可能有多把钥匙,所以把每个点有钥匙的情况状压一下 两个点之间有障碍的情况只给出了单向,存的时候记得存一下反向 b[i][j]表示当前点拥有钥匙的状态,g[x1][y1][x2][y2]表 ...
- How to Compare Means (均值比较)
在比较数据的均值时,我们可能知道: 比较工厂当天生产的零件的长度是否合格 (length >= N mm),用 t-Test; 比较各一线城市的人均收入,用 ANOVA. 其实均值比较还有很多检 ...