博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 2051 Argus(优先队列)
阅读量:4308 次
发布时间:2019-06-06

本文共 979 字,大约阅读时间需要 3 分钟。

题目链接: 

思路分析:

优先级问题,使用优先队列求解;当执行某个任务后,再增加一个任务到队列中,

该任务的优先级为执行任务的时间加上其时间间隔,如此反复直到求出前K个执行任务。

 

代码:

#include 
#include
using namespace std;struct Argu{ int QNum; int period; int time; bool operator<(const Argu &rhs) const { if (time > rhs.time) return true; if (time == rhs.time) return QNum > rhs.QNum; return false; }};int main(){ int k; char tmp[10]; priority_queue
heap; while (scanf("%s", tmp) != EOF && strcmp(tmp, "#") != 0) { Argu command; scanf("%d%d", &command.QNum, &command.period); command.time = command.period; heap.push(command); } scanf("%d", &k); for (int i = 0; i < k; ++i) { Argu ans; ans = heap.top(); heap.pop(); ans.time += ans.period; heap.push(ans); printf("%d\n", ans.QNum); } return 0;}

 

转载于:https://www.cnblogs.com/tallisHe/p/4263265.html

你可能感兴趣的文章
读书笔记_量化交易如何建立自己的算法交易01
查看>>
设计模式03_工厂
查看>>
设计模式04_抽象工厂
查看>>
设计模式05_单例
查看>>
设计模式06_原型
查看>>
设计模式07_建造者
查看>>
设计模式08_适配器
查看>>
设计模式09_代理模式
查看>>
设计模式10_桥接
查看>>
设计模式11_装饰器
查看>>
设计模式12_外观模式
查看>>
设计模式13_享元模式
查看>>
设计模式14_组合结构
查看>>
设计模式15_模板
查看>>
海龟交易法则01_玩风险的交易者
查看>>
CTA策略02_boll
查看>>
vnpy通过jqdatasdk初始化实时数据及历史数据下载
查看>>
设计模式19_状态
查看>>
设计模式20_观察者
查看>>
vnpy学习10_常见坑02
查看>>