红桃国际m8m9:点燃激情,开启你的非凡之旅

核心内容摘要

XXLXL18vs.XXLXL19:一场关于“划算”的深度对决,谁才是你的终极之选?
www在线:解锁数字世界的无限可能

揭秘“黑瓜爆料网女神黑料”:流量背后,真相几何?

洛谷作业调度方案 作业调度问题算法笔记

核心模拟策略见缝插针这类题目最容易掉入“按时间一分钟一分钟模拟”的陷阱你第一版代码的问题。

正确思路按照题目给出的优先顺序依次为每个任务寻找最早可用的连续时间区间。

搜索起点任务 i 的第 j 道工序其搜索起点 T_start 必须满足T_start 该工件前一道工序的结束时间

关键数据结构机器时间轴布尔阵使用timeline[machine_id][time]记录机器在某一时刻是否被占用。

注意时间轴长度通常开到 10000 以上以防溢出。

工件状态跟踪last_time[job_id]记录该工件上一次工序何时结束。

step[job_id]记录该工件目前该做第几个工序。

空档搜索逻辑核心代码片段不要试图用复杂的动态规划直接模拟“插入”最稳健从 start_from 开始向后遍历直到连续 cost 个时间点对应的机器都处于空闲for (int t start_from 1;; t) { bool check true; for (int delta 0; delta cost; delta) { if (machine_timeline[machine][t delta]) { check false; break; } } if (check) { step[ind_idx]; last_time[ind_idx] t cost - 1; fill_machine_time(t, cost, machine); break; } }

完整代码// 状态数组 vectorvectorboolmachine_timeline(25, vectorbool(10000, false)); vectorintstep(25,

; vectorintlast_time(25,

; // 常量数组 vectorintorder; vectorvectorintuse_machine(25, vectorint(

); vectorvectorintuse_time(25, vectorint(

); // 填充时间轴函数 void fill_machine_time(int start, int cost, int idx) { for (int i start; i start cost; i)machine_timeline[idx][i] true; } int main() { // 输入处理 int m, n; cin m n; for (int i 1; i n * m; i) { int x; cin x; order.push_back(x); } for (int i 1; i n; i) { for (int j 1; j m; j) { cin use_machine[i][j]; } } for (int i 1; i n; i) { for (int j 1; j m; j) { cin use_time[i][j]; } } int idx 0; while (idx (int)order.size()) { int ind_idx order[idx]; int pro_idx step[ind_idx]; int cost use_time[ind_idx][pro_idx]; int start_from last_time[ind_idx]; int machine use_machine[ind_idx][pro_idx]; // 插缝 for (int t start_from 1;; t) { bool check true; for (int delta 0; delta cost; delta) { if (machine_timeline[machine][t delta]) { check false; break; } } if (check) { step[ind_idx]; last_time[ind_idx] t cost - 1; fill_machine_time(t, cost, machine); break; } } idx; } // last_time中最大者即为最终时间 int res 0; for (int i 1; i n; i)res max(res, last_time[i]); cout res endl; return 0; }

国内永久免费crm系统破解版-国内永久免费crm系统破解版应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123