P1065 作业调度方案——小模怡情,大模伤身
P1065 作业调度方案
一个有点费手的“小”%%拟;
题都差点没读明白……;
每个机器所能完成的工序是不一样的;
每个物品完成工序的机器是指定的;
按照题面说的按时间轴推下去就行了;
没有时间上界有点难受……
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=;
int m,n;
int work_list[maxn];
int list_order[maxn];
int order_mach[maxn][maxn];
int work_time[maxn][maxn];
int last_time[maxn];
bool mach_sleep[maxn][maxn*];
bool check(int t,int cos,int id)
{
for(int i=t;i<=t+cos-;i++)
{
if(!mach_sleep[id][i]) return ;
}
for(int i=t;i<=t+cos-;i++) mach_sleep[id][i]=;
return ;
}
int main()
{
scanf("%d%d",&m,&n);
for(int i=;i<=n*m;i++)scanf("%d",&work_list[i]);
for(int i=;i<=n;i++)for(int j=;j<=m;j++) scanf("%d",&order_mach[i][j]);
for(int i=;i<=n;i++)for(int j=;j<=m;j++) scanf("%d",&work_time[i][j]); memset(mach_sleep,,sizeof(mach_sleep));
for(int i=;i<=n*m;i++)
{
list_order[work_list[i]]++;
int now_mach=order_mach[work_list[i]][list_order[work_list[i]]];
int spend_time=work_time[work_list[i]][list_order[work_list[i]]];
for(int j=last_time[work_list[i]]+;;j++)
{
if(check(j,spend_time,now_ma`ch))
{
last_time[work_list[i]]=j+spend_time-;
break;
}
}
} int ans=;
for(int i=;i<=n;i++)
{
ans=max(ans,last_time[i]);
}
printf("%d\n",ans);
return ;
}
P1065 作业调度方案——小模怡情,大模伤身的更多相关文章
- 洛谷P1065 作业调度方案
P1065 作业调度方案 题目描述 我们现在要利用m台机器加工n个工件,每个工件都有m道工序,每道工序都在不同的指定的机器上完成.每个工件的每道工序都有指定的加工时间. 每个工件的每个工序称为一个操作 ...
- 洛谷 P1065 作业调度方案
P1065 作业调度方案 题目描述 我们现在要利用 mm 台机器加工 nn 个工件,每个工件都有 mm 道工序,每道工序都在不同的指定的机器上完成.每个工件的每道工序都有指定的加工时间. 每个工件的每 ...
- P1065 作业调度方案
题目描述 我们现在要利用m台机器加工n个工件,每个工件都有m道工序,每道工序都在不同的指定的机器上完成.每个工件的每道工序都有指定的加工时间. 每个工件的每个工序称为一个操作,我们用记号j−k表示一个 ...
- [NOIP2006] 提高组 洛谷P1065 作业调度方案
题目描述 我们现在要利用m台机器加工n个工件,每个工件都有m道工序,每道工序都在不同的指定的机器上完成.每个工件的每道工序都有指定的加工时间. 每个工件的每个工序称为一个操作,我们用记号j-k表示一个 ...
- 制作一个有趣的涂鸦物联网小项目(涂鸦模组SDK开发 CBU BK7231N WiFi+蓝牙模组 HSV彩色控制)
实现的功能: l APP控制月球灯 l 本地月球灯控制 l APP控制"大白"颜色,实现各种颜色变身 l 门状态传感器状态APP显示 l 网络状态指示灯,连接服务器长亮, ...
- 求解复数组 中模较大的N个数
//求解复数组 中模较大的N个数 void fianN_Complex(Complex outVec[], int& len, std::vector<int>& inde ...
- NOIP2006 作业调度方案
1. 作业调度方案 (jsp.pas/c/cpp) [问题描述] 我们现在要利用m台机器加工n个工件,每个工件都有m道工序,每道工序都在不同的指定的机器上完成.每个工件的每道工 ...
- 【Spark调优】小表join大表数据倾斜解决方案
[使用场景] 对RDD使用join类操作,或者是在Spark SQL中使用join语句时,而且join操作中的一个RDD或表的数据量比较小(例如几百MB或者1~2GB),比较适用此方案. [解决方案] ...
- 蓝的成长记——追逐DBA(6): 做事与做人:小技术,大为人
***********************************************声明*************************************************** ...
随机推荐
- Synergy 一套键鼠同时控制多台电脑
百度云(1.5是最后一个免费的版本,linux,mac,windows全有): 链接: https://pan.baidu.com/s/1A_qR8FHd8a0ILQXsSqjfCQ 密码: 9h8c
- manacher 算法(最长回文串)
manacher算法: 定义数组p[i]表示以i为中心的(包含i这个字符)回文串半径长 将字符串s从前扫到后for(int i=0;i<strlen(s);++i)来计算p[i],则最大的p[i ...
- ol li 兼容
ol 标签在 chrome 60 和 safari12 缩进不一样. 因为序号距离copy距离不一样,导致显示不一样.解决办法. list-style-position: inside;text-in ...
- JavaScript内置一些方法的实现原理--Object.freeze()、instanceof
const定义的常量,一般是不能修改的. 比如: const TIME_OUT = 10000; 但是当值为引用类型值时,还是可以操作对象,扩展或修改对象属性.方法等等. 以下演示代码的操作是不会报错 ...
- java 原子操作(1) CAS
在 java 多线程编程中经常说的就是:“原子操作(atomic operation) 不需要 synchronized”. 原子操作指的是不会被线程调度机制打断的操作:这种操作一旦开始,就一直运行到 ...
- Python面向对象Day2
一.组合 给一个类的对象分组一个属性,这个属性是另一个类的对象 意义:让类的对象与另一个类的对象产生关系,也叫类与类之间产生关系(继承也能) 好处: ① 让两个类之间产生关系 ② 某一个对象是独立存在 ...
- python开发的百度翻译接口
做的一个python版的百度翻译,附代码 #!/usr/bin/env python # -*- coding:utf-8 -*- ''' 爬虫之百度翻译 需要的库有 js2py, request ...
- 4.BeanFactory和ApplicationContext的区别
ApplicationContext和BeanFactory都是用于加载Bean的, 但是二者之间存在区别, ApplicationContext能够提供更多的扩展功能. 1).BeanFactory ...
- vue1 监听数据变化
- git 和 svn比较
SVN和Git 介绍,区别,优缺点,适用范围总结 原创 2016年01月29日 15:17:36 15774 介绍 SVN SVN是Subversion的简称,是一个开放源代码的版本控制系统, ...