【UVA1194】Machine Schedule】的更多相关文章

题目大意:给定 N 个任务和两台机器,每个任务可以在任意一台机器上执行,每台机器有 N 个启动状态,不同任务需要机器在不同的状态下执行,求执行所有任务需要多少个不同的状态. 题解:由于一个任务一定要被两台机器中的一台执行,可以将任务看作边,连接两台机器的对应启动状态.所要求的是这个二分图的最大独立集,因此,只需求出其最大匹匹数即可. 代码如下 #include <bits/stdc++.h> #define fi first #define se second #define pb push_…
目录 List Description Input Output Sample Input Sample Output HINT Solution Code Position: http://poj.org/problem?id=1325 List Description 我们知道机器调度是计算机科学中一个非常经典的问题.调度问题有很多种,具体条件不同,问题就不同.现在我们要处理的是两个机器的调度问题. 有两个机器A和B.机器A有n种工作模式,我们称之为mode_0,mode_l,--,mode…
机器的不同模式为点,对于每个job,建两条边 A机器需要的模式<->B机器需要的模式. 问题转化为最小点覆盖,然后用二分图的最小点覆盖==最大匹配,用匈牙利算法解. #include <cstdio> #include <cstring> const int N=105<<1; const int M=1001<<1; struct edge{ int to,next; }e[M]; int head[N],tot; void add(int u…
There are a total of n courses you have to take, labeled from 0 to n - 1. Some courses may have prerequisites, for example to take course 0 you have to first take course 1, which is expressed as a pair: [0,1] Given the total number of courses and a l…
题意: 有N个事件,M台机器.事件有开始时间,持续时间,要在结束时间之前完成,问是否能完成所有事件? 非自己思考出来的 建图:把每个任务和每一天都看做一个点,添加源点和汇点.源点与每个任务之间连一条边,容量为完成该任务所需处理次数.若第i个任务可以在Si至Ei天处理,则由该任务向这些天分别连一条边,容量为1,表示此任务每天只能被处理一次.最后,从每一天连一条到汇点的边,容量为机器数M,表示每天可以处理M个任务.若求出的最大流等于所有任务需要处理的次数之和,说明能完成任务:否则,不能完成任务. #…
http://acm.hdu.edu.cn/showproblem.php?pid=3842 (题目链接) 题意 一个公司使用一个厂房$D$天,希望获利最大.有$n$台机器,每一台可以在第$D_i$天购买,需要支付$P_i$,购买那天以后每一天可以获得$G_i$的收益,将它卖出可以获得$R_i$的收益,问到第$D+1$天的最大收益. Solution 直接对天数不好dp,因为$D_i$可能会有重复,我们对机器进行dp.将时间离散化后,给机器按照$D_i$并从小到大排好序后,$f[i]$表示第$i…
Reference: 决策树方法-对买电脑进行分类预测 Reference: 最邻近规则分类(K-Nearest Neighbor)KNN算法应用 Reference: python 内建函数 str() 和 repr() 的区别 Reference: Python repr() 函数…
题意:给你n个任务的开始时间和结束时间,一个机器同时最多执行一个任务,问你最少要几个机器.保证机器最少的前提下,问你每个机器的开动时间(最后一次关闭-第一次开启)之和最少是多少. 把这些线段画在数轴上,最大的重叠数就是最少要几个机器. 开动时间怎么算呢?第i个机器的开动时间其实就是(再也不需要>=i台机器的第一个位置 - 需要>=i台机器的第一个位置).对每个机器的这个值求和即可. 要先离散化. #include<cstdio> #include<algorithm>…
传送门 题意: 从\(n\)个人中选\(r\)个出来,但每两个人的标号不能少于\(k\). 再将\(r\)个人分为不超过\(m\)个集合. 问有多少种方案. 思路: 直接\(dp\)预处理出从\(n\)个人选\(r\)个的方案,第二类斯特拉数处理分组的情况即可. /* * Author: heyuhhh * Created Time: 2019/12/10 19:14:48 * dp预处理+第二类斯特林数 */ #include <iostream> #include <algorith…
class Solution { public: static bool canFinish(int numCourses, vector<pair<int, int>>& prerequisites) { //初始化入度 vector<); //初始化邻接表 vector<vector<)); ; i < prerequisites.size(); i++) { int first = prerequisites.at(i).first; int…