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

MT3020 任务分配

思路:利用二分找到某个时间是满足“k个人可以完成” ,并且时间最小。

因为尽量让后面的人做任务,所以从后往前排任务(倒着分配)。从后往前遍历任务,如果此人加上这个任务超出之前求得的时间,就移到上一个人。


#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e4 + 10;
int t, k;
int ti[N];bool check(int u)
{              // u秒可不可以由k个人完成int s = 1; // 记录当前的人int a[N];  // 记录每人任务时间memset(a, 0, sizeof(a));for (int i = 1; i <= t; i++) // 遍历t个任务{if (a[s] + ti[i] > u) // 如果当前时间加上当前任务的时间大于u{s++; // 选下一个人a[s] += ti[i];}elsea[s] += ti[i];}if (s > k){ // 人数>kreturn false;}return true;
}
int c[N][2]; //[每人][起点+终点]
void print(int u)
{ // u为时间// 倒着分配int i = k, temp = 0;for (int j = t; j > 0; j--){if (c[i][1] == 0){ // 结束c[i][1] = j;}if (temp + ti[j] > u) // 时间超出,则换人(从后往前i--){c[i][0] = j + 1;i--;temp = ti[j];c[i][1] = j; // 结束}else{ // 时间未超出temp += ti[j];}}c[i][0] = 1;for (int i = 1; i <= k; i++){if (c[i][0] == 0)cout << 0 << " " << 0 << endl;elsecout << c[i][0] << " " << c[i][1] << endl;}
}
signed main()
{int l = -1, r = 0, ans = 0;cin >> t >> k;for (int i = 1; i <= t; i++){cin >> ti[i];l = max(l, ti[i]);//记录最大时间r += ti[i];//记录总时间}// 二分任务的时间while (l <= r){int mid = (l + r) / 2;if (check(mid)){r = mid - 1;ans = mid;}else{l = mid + 1;}}print(ans);return 0;
}

http://www.lryc.cn/news/338557.html

相关文章:

  • 【Redis】事务
  • 每日一题(leetcode238):除自身以外数组的乘积--前缀和
  • 内网通如何去除广告,内网通免广告生成器
  • 视频知识整理
  • 【2024】使用Rancher管理k8s集群和创建k8s集群
  • 生成对抗网络 – Generative Adversarial Networks | GAN
  • 基于深度学习的生活垃圾智能分类系统(微信小程序+YOLOv5+训练数据集+开题报告+中期检查+论文)
  • 软件包名生成参考
  • 八大排序算法(面试被问到)
  • SCP指令详细使用介绍
  • 《前端面试题》- JS基础 - 防抖和节流
  • RAGFlow:基于OCR和文档解析的下一代 RAG 引擎
  • 正则表达式|*+?
  • 前端开发攻略---根据音频节奏实时绘制不断变化的波形图。深入剖析如何通过代码实现音频数据的可视化。
  • 【计算机毕业设计】基于Java+SSM的实战开发项目150套(附源码+演示视频+LW)
  • STM32H7的MPU学习和应用示例
  • 964: 数细胞
  • 流程图步骤条
  • GPT知识库浅析
  • SpringMVC--SpringMVC的视图
  • Datax,hbase与mysql数据相互同步
  • ubuntu spdlog 封装成c++类使用
  • 【C语言】——字符串函数的使用与模拟实现(上)
  • 数据库(1)
  • VirtualBox - 与 Win10 虚拟机 与 宿主机 共享文件
  • 深入浅出 useEffect:React 函数组件中的副作用处理详解
  • 《QT实用小工具·十九》回车跳转到不同的编辑框
  • 基本的数据类型在16位、32位和64位机上所占的字节大小
  • 关注招聘 关注招聘 关注招聘
  • Django框架设计原理