当前位置: 首页 > wzjs >正文

企业网站建设的步骤过程企业咨询合同

企业网站建设的步骤过程,企业咨询合同,邢台专业网站建设费用,怎么找网站啊任务分配问题,有n个任务,每个任务有个达到时间。将这些任务分配给m个处理器,进行处理。每个处理器的处理时间不一样。处理器的任务列表有最大任务数限制。 分配任务的策略是:当前待分配的任务的处理时刻最小。如果处理时刻相同&am…

任务分配问题,有n个任务,每个任务有个达到时间。将这些任务分配给m个处理器,进行处理。每个处理器的处理时间不一样。处理器的任务列表有最大任务数限制。
分配任务的策略是:当前待分配的任务的处理时刻最小。如果处理时刻相同,处理器id小的优先。
假设从时刻0开始分配任务和处理任务。在某一时刻,要求处理器先标记任务的完成状态,再接受新的任务。
问所有问题处理完毕后的时刻是多少?

#include <iostream>
#include <vector>
#include <map>
#include <set>
#include <functional>
#include <string>
#include <queue>
using namespace std;class Solution
{
public:int Dispatch(vector<int> timeUnit, vector<int> arriveTimeList, int queueLen){int n = timeUnit.size();this->timeUnit = timeUnit;this->queueLen = queueLen;taskTime.resize(n, 0);taskCount.resize(n, 0);auto cmp = [&] (int x, int y) -> bool {if (taskCount[x] == queueLen && taskCount[y] == queueLen) {return x > y;}if (taskCount[x] == queueLen) {return true;}if (taskCount[y] == queueLen) {return false;}int time1 = taskTime[x] + timeUnit[x] * taskCount[x];int time2 = taskTime[y] + timeUnit[y] * taskCount[y];if (time1 == time2) {return x > y;}return time1 > time2;};int j = 0;int curTime = 0;for (; ; curTime++) {priority_queue<int, vector<int>, function<bool(int,int)>> q(cmp);// 出队for (int i = 0; i < n; i++) {if (taskCount[i] == 0) {q.push(i);continue;}int cnt = (curTime - taskTime[i]) / timeUnit[i];taskCount[i] -= cnt;if (taskCount[i] < 0) {taskCount[i] = 0;taskTime[i] = 0;} else {taskTime[i] += cnt * timeUnit[i];}q.push(i);}int task = q.top();// 入队,直到不能再加了while (j < arriveTimeList.size() && arriveTimeList[j] <= curTime && taskCount[task] < queueLen) {q.pop();taskCount[task]++;if (taskCount[task] == 1) {taskTime[task] = curTime;}j++;q.push(task);task = q.top();}if (j == arriveTimeList.size()) {break;}}int ans = 0;for (int i = 0; i < n; i++) {ans = max(ans, taskTime[i] + taskCount[i] * timeUnit[i]);}return ans;}
private:vector<int> taskTime;vector<int> taskCount;vector<int> timeUnit;int queueLen;
};int main(int argc, char *argv[])
{vector<int> timeUnit = {1, 2, 3, 4, 5};vector<int> arriveTimeList = {0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 4, 5, 6, 7};int rightAns = 5;Solution s;int ans = s.Dispatch(timeUnit, arriveTimeList, 3);cout << "ans: " << ans << endl;return 0;
}
http://www.dtcms.com/wzjs/582460.html

相关文章:

  • 网站建设网页设计服务绵阳免费网站建设
  • 阿里云上怎么做网页网站效果图网址大全
  • 青鸟网站开发实例网站的配色技巧
  • 在网站上显示地图上海小程序开发制作
  • 烂网站做竞价行吗做的比较好的冷柜网站有哪些
  • 集约化网站建设的核心可以注册的网站
  • 商城网站建设功能点价格wordpress表单 慢
  • 电商网站网址大全wordpress改页脚
  • 信用中国 网站有那个部门支持建设天津市开发区建设管理局网站
  • django做的购物网站黄岛网站建设
  • 建设网站时 首先要解决两个问题 一是什么免费网站申请注册步骤
  • asp网站源码 生成静态网站建设比较好的多少钱
  • 电子政务网站模版网络营销机构官方网站
  • 网站做数据分析中铁建设集团公司门户
  • 无锡模板网站斗门区住房和城乡建设网站
  • 建立企业网站的详细步骤嘉兴电子商务网站建设
  • 如何用模板建网站手机wordpress查看加密文章
  • 美了一站式变美共享平台镇江京口区
  • 建立网站的程序微信公众平台导航 wordpress模版
  • 网站横幅代码个人网站制作总体设计
  • 商城网站开发平台怎么做联盟网站
  • 巩义网站建设案件数据重庆整站seo
  • 书写网站建设策划书企业电子商务网站建设
  • 做外贸的网站怎么建立龙岩网站设计 信任推商吧做词
  • 北京网站建设公司完美湖南岚鸿首 选上海建设工程招投标在什么网站
  • 网站搜索引擎优化的基本内容网站怎么做商家定位
  • 手机酒店网站建设哪些网站做农产品电子商务物流
  • 网站开发有前途么郑州上街网站建设公司
  • 南昌做网站的公司哪个比较好的邦泽网站建设
  • 嵊州市住房和城乡建设局网站网站建设公司山西