算法03-任务混部

2023-11-02

公司创新实验室正在研究如何最小化资源成本, 最大化资源利用率, 请你设计算法帮他们
解决一个任务混部问题: 有 taskNum 项任务, 每个任务有开始时间(startTime
) , 结束时间(endTime) , 并行度(parallelism)三个属性, 并行度是指这个任务运行时将
会占用的服务器数量, 一个服务器在每个时刻可以被任意任务使用但最多被一个任务占用
, 任务运行完会立即释放(结束时刻不占用) 。 任务混部问题是指给定一批任务, 让这批
任务由同一批服务器承载运行, 请你计算完成这批任务混部最少需要多少服务器, 从而最
大化控制资源成本。
输入描述
第一行输入为 taskNum, 表示有 taskNum 项任务
接下来 taskNum 行, 每行三个整数, 表示每个任务的开始时间(startTime
) , 结束时间(endTime) , 并行度(parallelism)
输出描述
一个整数, 表示最少需要的服务器数量
taskNum = int(input())

server_num = 0
task_info = []

for i in range(taskNum):
    info = input()
    start_time = info.split(' ')[0]
    end_time = info.split(' ')[1]
    parallelism = int(info.split(' ')[2])
    if not task_info:
        server_num += parallelism
    else:
        need_num = parallelism  # 实际需要的服务器数量
        for task in task_info:
            if need_num == 0:
                break
            if start_time >= task['end_time'] or end_time <= task['start_time']:
                # 任务时间没有交叉
                need_num = need_num - task['num'] if need_num > task['num'] else 0

        server_num += need_num
    task_info.append({'start_time': start_time, 'end_time': end_time, 'num': parallelism})

print(server_num)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

算法03-任务混部 的相关文章

  • Tastypie 与 application/x-www-form-urlencoded

    我有点难以弄清楚下一步应该做什么 我正在使用 tastypie 为我的 Web 应用程序创建 API 从另一个应用程序 特别是 ifbyphone com 我收到一个没有标题的 POST 如下所示 post data http myapp
  • Redis - 错误:值不是有效的浮点数

    我在 Redis 中有一个排序集 我试图通过在Python代码中使用zincrby来更新特定元素的计数器值 例如 conn zincrby usersSet float 1 user1 但它显示错误为 错误 值不是有效的浮点数 我在 cli
  • 不能在jinja2宏中使用current_user?

    我使用 Flask Login 它提供了current user模板中的对象 我想编写一个宏来显示评论表单或登录链接 具体取决于用户是否登录 如果我直接在模板中使用此代码 它会起作用 if current user is authentic
  • PyQt4 信号和槽

    我正在使用 PyQt4 编写我的第一个 Python 应用程序 我有一个 MainWindow 和一个 Dialog 类 它是 MainWindow 类的一部分 self loginDialog LoginDialog 我使用插槽和信号 这
  • 使用 for 循环 Python 为数组赋值

    我正在尝试将字符串的值分配给不同的数组索引 但我收到一个名为 列表分配超出范围 的错误 uuidVal distVal uuidArray distArray for i in range len returnedList for beac
  • 尽管 ioff() 和 matplotlib.use('Agg'),Pyplot“无法连接到 X 服务器 localhost:10.0”

    我有一段代码 它被不同的函数调用 为我执行一些计算 然后将输出绘制到文件中 鉴于整个脚本可能需要一段时间才能运行更大的数据集 并且由于我可能想在给定时间分析多个数据集 所以我开始它screen然后断开连接并关闭我的腻子会话 并在第二天再检查
  • Python3如何安装.ttf字体文件?

    我想使用 python3 更精确的 Python 3 6 代码在 Windows 10 上安装 ttf 字体文件 我用谷歌搜索 但我发现的唯一的就是这个使用python在windows上安装TTF字体 https stackoverflow
  • 熊猫 style.background_gradient 忽略 NaN

    我有以下代码来转储数据帧results到 HTML 表格中 这样的列TIME FRAMES根据seaborn 的颜色图进行着色 import seaborn as sns TIME FRAMES 24h 7d 30d 1y Set CSS
  • 生产环境的 Flask-Login 与 Flask-Security

    我正在构建一个功能 供用户注册 登录 验证和授权自己 特别是使用 Python Flask 作为后端 我找到了一些解决方案 例如flask login and flask security 据我了解 flask login实际上并没有进行任
  • 如何在 sqlalchemy 中创建基于文字的查询?

    我创建了一个函数来创建表达式 def test operator1 operation operator2 return literal column operator1 op operation operator2 现在当我用 test
  • 在 PyCharm 中运行命令行命令

    你好 我正在使用Python 但之前从未真正使用过它 我收到一些命令 需要在终端中运行 基本上 python Test py GET feeds 我正在使用 PyCharm 我想知道是否有办法从该 IDE 中运行这些相同的命令 按 Alt
  • 如何使用子进程打开新的浏览器选项卡?

    我正在打开一个新的 IE 窗口 subprocess Popen r os environ PROGRAMFILES Internet Explorer IEXPLORE EXE Call URL 当 IE 关闭时这很好 但即使打开它也会生
  • wxPython:更新wx.ListBox列表

    我在 python 程序中有一个 wx ListBox 我不想在 wx Timer 更新时更改其中的列表 我的计时器正在工作 我只是不知道如何更改它显示的列表 这是一个例子 http www daniweb com code snippet
  • 安装python启动文件

    我如何安装pythonstartup文件 以便它在命令上运行 例如python myfile py 我尝试将其安装到我的 home myuserUbuntu的目录 但它说我没有足够的权限 此外 不同的地方交替说它应该全部大写或全部小写 前面
  • Python写入dbf数据时出错

    我得到这个错误 DbfError unable to modify fields individually except in with or Process 如何修复它 这是我的code with dbf Table aa dbf as
  • Numba jitclass 不适用于 python 列表

    我在用python 3 6 and numba 0 36 这个问题有一个sister https stackoverflow com questions 48159360 numba custom stack class and pop f
  • 为什么 Python exec 中的模块级变量无法访问?

    我正在尝试使用Pythonexec in a project https github com arjungmenon pypage执行嵌入的Python代码 我遇到的问题是在模块级 in an exec声明是难以接近的来自同一模块中定义的
  • 有效积累稀疏 scipy 矩阵的集合

    我有一个 O N NxN 的集合scipy sparse csr matrix 每个稀疏矩阵都有 N 个元素集 我想将所有这些矩阵加在一起以获得一个常规的 NxN numpy 数组 N 约为 1000 矩阵内非零元素的排列使得所得总和肯定不
  • Pymongo 批量插入

    我正在尝试批量插入文档 但批量插入时不会插入超过 84 个文档 给我这个错误 in insert pymongo errors InvalidOperation cannot do an empty bulk insert 是否可以批量插入
  • 无法在 Python 2.4 中解码 unicode 字符串

    这是Python 2 4 中的 这是我的情况 我从数据库中提取一个字符串 它包含一个变音的 o xf6 此时 如果我运行 type value 它会返回 str 然后我尝试运行 decode utf 8 但收到错误 utf8 编解码器无法解

随机推荐

  • ggplot2读书笔记5:工具箱——误差线、加权数、展示数据分布

    今天我们学习第三章的最后几节 其中的 绘制地图 部分 因为我木有顺利安装maps package 而且在我们的工作中也不常用 暂时跳过 下面继续 6 添加误差线和误差范围 数据中的不确定信息的展示也很重要 ggplot2中 四类几何对象可以
  • 【嵌入式百科】001——字长、比特、字节、字、双字

    一 字长 计算机的每个字所包含的位数称为字长 计算的字长是指它一次可处理的二进制数字的数目 一般地 大型计算机的字长为32 64位 小型计算机为12 32位 而微型计算机为4 16位 二 比特 bit 数据传输大多是以 位 bit 又名 比
  • 异常、业务状态码、错误码的使用分析

    url http www iteye com topic 1112683 url 好吧 看了各位的发言 我突然觉的自己蛋疼了 我的公司也蛋疼了 不过可别说我经历的项目初级 从日pv超百万的论坛和价值几亿的银行项目我都经历过 现在我经历的最大
  • QT 面试题 个人标注重点

    一 讲述Qt信号槽机制与优势与不足 优点 类型安全 需要关联的信号槽的签名必须是等同的 即信号的参数类型和参数个数同接受该信号的槽的参数类型和参数个数相同 若信号和槽签名不一致 编译器会报错 松散耦合 信号和槽机制减弱了Qt对象的耦合度 激
  • VMware虚拟机添加新磁盘

    一 VMware虚拟机添加磁盘 1 关闭你要添加硬盘的虚拟机 点击 编辑虚拟机设置 2 在打开的界面中点击 添加 按钮 3 在新打开的界面中点击 硬盘 下一步 4 在打开的界面中 选择硬盘类型 保持默认即可 点击 下一步 5 在打开的界面中
  • 贴片钽电容封封装及规格和参数资料

    贴片钽电容简述 贴片钽电容 以下简称钽电容 作为电解电容器中的一类 广泛应用于各类电子产品 特别是一些高密度组装 内部空间体积小产品 如手机 便携式打印机 钽电容是一种用金属钽 Ta 作为阳极材料而制成的 按阳极结构的不同可分为箔式和钽烧粉
  • 第一章 Vue项目的创建

    1 第一步 Node js的下载 方法 去node js官网进行下载 描述 node js自带npm的包 管理依赖 2 第二步VUE脚手架下载安装 方法 1 打开cmd 2 输入 npm install g vue cli 3 第三步 检查
  • 14.ES 之 nested 详解(2019-05-22)

    1 问题引入 由于在 ES 里新建 删除 更新单个文档都是原子性的 那么将相关实体保存在同一文档里面是有意义的 PUT blog doc 1 title Nest eggs body Making your money work tags
  • html 纯数字、英文不换行的两种解决办法

    1 在需要纯数字或英文换行的标签加入样式 word break break all 强制换行 2 如果需要将html代码通过html2canvas转为图片 word break break all 结果失效 我的解决办法是将纯数字使用sub
  • Dart基础语法1

    Dart基础 学习一门新的语言 我们可以以自己现有的熟悉的语言来类比 比如我们非常熟悉Java 那么剩下的就是需要掌握与Java不同的Dart语法 剩下的就需要靠自己多写多看来慢慢熟悉 国际惯例 使用Dart完成一个 Hello World
  • web前端面试之基础面试题(一)(含答案)

    前端面试题 一 今天我们整理一下前端面试题 15个 此面试题答案自己书写总结 有问题或疑问请指出问题 谢谢 1 HTML中行内元素与块元素的区别 并举例 行内元素怎么转化为块级元素 块级元素 block element 在浏览器中占据整行
  • 一文看懂yolov7;yolov7详解

    免责声明 1 此方法仅提供参考 2 搬了其他博主的操作方法 以贴上路径 3 场景一 yolo v7 场景二 yolo系列未完待续 Yolo系列强推 gt Yolo v1 v5 Yolox 场景一 yolo v7 强推先看 gt yolov7
  • 7-52 两个有序链表序列的交集

    include
  • 用遗传算法进行特征选择

    文章目录 一 问题举例 二 算法描述 1 基于类内类间距离的可分性判据 2 遗传算法 Genetic Algorithm 1 初始化种群 2 计算当前种群 M t 中每条染色体的适应度值 f m 3 基于适应度值的选择 4 交叉 5 变异
  • STM32直流电机测速

    任务要求 以STM32单片机 DSPTMS320F28335芯片或ARM系列芯片为核心 测量电机旋转速度 并利用开发板实现如下功能 在LCD屏幕上显示捕捉的电机转速 转速高于阈值报警 LED闪烁指示处于工作状态 扩展功能 0 96寸OLED
  • ent orm笔记1---快速尝鲜

    前几天看到消息Facebook孵化的ORM ent转为正式项目 出去好奇 简单体验了一下 使用上自己感觉比GORM好用 于是打算把官方的文档进行整理 也算是学习一下如何使用 安装 ent orm 需要使用entc命令进行自动代码生成 所以需
  • ChatGPT+小红书爆文,牛!

    随着AI技术的不断发展 它已经逐渐渗透到了我们的生活之中 包括内容营销领域 我们通过AI算法生成文本 优化搜索引擎排名 提高用户体验等 现在AI已逐渐在改变时代的进步 AI也将成为下一个十年的一个变革 我们每个创业者 内容创作者以及普通人都
  • Visual Studio 卸载 Visual Assist番茄助手

    在VS的Visual Studio 2010 Extension Manager 中可卸载 详细可参考文章 https blog csdn net fangxinggood article details 6052950
  • Selenium常用操作之单选复选框、下拉列表、键盘、截屏、断言、(显式隐式)等待

    目录 1 窗口最大化 2 单选框操作 3 复选框操作 4 下拉列表 5 selenium 三种等待 6 键盘操作 7 截屏 8 断言 9 Selenium操作JS弹窗控件 10 鼠标悬停与释放 1 窗口最大化 driver maximize
  • 算法03-任务混部

    公司创新实验室正在研究如何最小化资源成本 最大化资源利用率 请你设计算法帮他们 解决一个任务混部问题 有 taskNum 项任务 每个任务有开始时间 startTime 结束时间 endTime 并行度 parallelism 三个属性 并