POJ 2051(最小堆/優先佇列)
聽了菊苣的話入手了一本挑戰程式設計競賽,為了突破瓶頸......這道題是一道最小堆的題,為了方(水)便(題)於是就用了優先佇列來做....
題意大致是每個id號註冊的時候佔用一定時間,然後不斷的用最短的時間註冊id號
中規中矩的一道題,過載一下運算子排好序就行了。
#include <iostream>
#include <queue>
#include <string>
#include <cstring>
#include <cstdio>
using namespace std;
struct Node
{
int id;
int period;
int time;
friend bool operator < (const Node &a, const Node &b)
{
if (a.time == b.time)
return a.id > b.id;
else
return a.time > b.time;
}
};
int main()
{
priority_queue<Node> q;
string s;
Node point;
int x, y;
cin >> s;
while (s.compare("#") != 0)
{
scanf("%d %d", &x, &y);
point.id = x;
point.period = y;
point.time = y;
q.push(point);
cin >> s;
}
int n;
scanf("%d", &n);
while (n--)
{
Node temp = q.top();
temp.time += temp.period;
printf("%d\n", temp.id);
q.pop();
q.push(temp);
}
}
相關文章
- NO GAME NO LIFE(優先佇列/最小堆)GAM佇列
- STL優先佇列最小堆最大堆佇列
- MaxHeap 最大堆 MinHeap 最小堆 PriorityQueue 優先佇列實現佇列
- Sunscreen POJ - 3614(防曬油) 貪心-優先佇列佇列
- PHP優先佇列PHP佇列
- 最詳細版圖解優先佇列(堆)圖解佇列
- 優先佇列的學習記錄--例題:Expedition(POJ2431)佇列
- STL 優先佇列 用法佇列
- 淺談優先佇列佇列
- 堆與優先佇列佇列
- 優先佇列和堆排序佇列排序
- 01揹包優先佇列優化佇列優化
- 佇列 優先順序佇列 python 程式碼實現佇列Python
- 棧,佇列,優先順序佇列簡單介面使用佇列
- 優先佇列的比較器佇列
- 封裝優先順序佇列封裝佇列
- 三、資料結構演算法-棧、佇列、優先佇列、雙端佇列資料結構演算法佇列
- leetcode621——優先佇列的思路LeetCode佇列
- 演算法面試(三) 優先佇列演算法面試佇列
- 二叉堆實現優先佇列佇列
- 手擼優先佇列——二叉堆佇列
- C++ STL 優先佇列 (priority_queue)C++佇列
- .NET 6 優先佇列 PriorityQueue 實現分析佇列
- Java優先順序佇列DelayedWorkQueue原理分析Java佇列
- 用優先佇列構造Huffman Tree及判斷是否為最優編碼的應用佇列
- 堆、堆排序和優先佇列的那些事排序佇列
- 【堆】【優先佇列】[NOIP2004]合併果子佇列
- Facebook的分散式優先順序佇列FOQS分散式佇列
- 8.13(優先佇列貪心維護+打表找規律+對頂堆優先佇列+DFS減枝+貪心dp)佇列
- 【Dijkstra演算法】未優化版+優先佇列優化版演算法優化佇列
- codeforces round 974(div.3)E(優先佇列實現dijstra演算法,devc++的優先佇列用greater報錯)佇列JS演算法devC++
- CodeForces - 960B:Minimize the error(優先佇列+貪心)Error佇列
- [USACO 2009 Feb Gold] Fair Shuttle (貪心+優先佇列)GoAI佇列
- 全網最適合入門的物件導向程式設計教程:41 Python 常用複合資料型別-佇列(FIFO、LIFO、優先順序佇列、雙端佇列和環形佇列)物件程式設計Python資料型別佇列
- CSP之公共鑰匙盒(模擬、排序、優先佇列)排序佇列
- Python3 執行緒優先順序佇列( Queue)Python執行緒佇列
- Python 列表推導及優先順序佇列的實現Python佇列
- 個推基於 Apache Pulsar 的優先順序佇列方案Apache佇列
- RMQ——支援合併和優先順序的訊息佇列MQ佇列