Machine Schedule(poj 1274)】的更多相关文章

题目大意:有n个奶牛和m个谷仓,现在每个奶牛有自己喜欢去的谷仓,并且它们只会去自己喜欢的谷仓吃东西,问最多有多少奶牛能够吃到东西 输入第一行给出n与m 接着n行 每行第一个数代表这个奶牛喜欢的谷仓的个数P,后面接着P个数代表这个奶牛喜欢哪个谷仓 #include<cstdio> #include<iostream> #include<cstring> #define M 510 using namespace std; int used[M],belong[M],a[M…
Machine Schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5817    Accepted Submission(s): 2932 Problem Description As we all know, machine scheduling is a very classical problem in comput…
二分图:https://blog.csdn.net/c20180630/article/details/70175814 https://blog.csdn.net/flynn_curry/article/details/52966283 匈牙利算法模板:https://blog.csdn.net/sunny_hun/article/details/80627351 例题:hdu 1150 Machine Schedule 参考:https://www.cnblogs.com/qq-star/p…
1.有两台机器A和B以及N个需要运行的任务.A机器有n种不同的模式,B机器有m种不同的模式,而每个任务都恰好在一台机器上运行.如果它在机器A上运行,则机器A需要设置为模式xi,如果它在机器B上运行,则机器B需要设置为模式yi.每台机器上的任务可以按照任意顺序执行,但是每台机器每转换一次模式需要重启一次.请合理为每个任务安排一台机器并合理安排顺序,使得机器重启次数尽量少. 2.最小点覆盖数 = 最大匹配数(结论.暂时不会证明.) 这道题主要在于转化:A机器的n种模式看成二分图的X集合,B机器的m种…
http://poj.org/problem?id=1325 题意: 两种机器A和B.机器A具有n种工作模式,称为mode_0,mode_1,...,mode_n-1,同样机器B有m种工作模式mode_0,mode_1,..., mode_m-1.开始时,它们都在mode_0工作. 对于给定的k个作业,可以在特定模式下的两个机器中的任一个中处理它们中的每一个.例如,作业0可以在机器A在mode_3处理,或者在机器B在mode_4处理,作业1可以在机器A中在mode_2处理,或者在机器B中在mod…
机器的不同模式为点,对于每个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…
Machine Schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 5371    Accepted Submission(s): 2658 Problem Description As we all know, machine scheduling is a very classical problem in compu…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1150 Machine Schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6733    Accepted Submission(s): 3375 Problem Description As we all know, mach…
题意:有两台机器A和B,A有n种工作模式(0~n-1),B有m种工作模式(0~m-1),两台机器的初始状态都是在工作模式0处.现在有k(0~k-1)个工作,(i,x,y)表示编号为i的工作可以通过机器A的工作模式x完成,也可以通过机器B的工作模式y完成.机器必须重启后才能更换一种工作模式,问最少的重启次数. 分析: 1.重启次数最少,即工作模式种类最少,即用最少的工作模式完成所有工作. 2.将A的n种工作模式看做n个点,将B的m种工作模式看做m个点,即用最少的点(工作模式)覆盖所有的边(一条边代…
Charm Bracelet    POJ 3624 就是一道典型的01背包问题: #include<iostream> #include<stdio.h> #include<algorithm> #include<string.h> using namespace std; ],b[]; ]; int main() { int n,m,i,j; while(scanf("%d%d",&n,&m)!=EOF) { ;i&l…
Scout YYF I Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5565   Accepted: 1553 Description YYF is a couragous scout. Now he is on a dangerous mission which is to penetrate into the enemy's base. After overcoming a series difficulties,…
背景 在项目开发过程中,我们经常需要执行具有周期性的任务.通过定时任务可以很好的帮助我们实现. 我们拿常用的几种定时任务框架做一个比较: 从以上表格可以看出,Spring Schedule框架功能完善,简单易用.对于中小型项目需求,Spring Schedule是完全可以胜任的. 1.springboot集成schedule 1.1 添加maven依赖包 由于Spring Schedule包含在spring-boot-starter基础模块中了,所有不需要增加额外的依赖. <dependenci…
题目链接:http://vjudge.net/contest/view.action?cid=51369#problem/A   (A - Children of the Candy Corn) http://poj.org/problem?id=2488   (A Knight's Journey) (不知道为什么,名字竟然不同哇~~~~还是poj 改名改得好) 题目意思:给出一个p * q 的棋盘,行用阿拉伯数字1,2,...,p-1, p 来表示,列从大写字母'A'开始表示.我这里为了简化…
前言 鉴于机器学习产生自计算机科学,模式识别却起源于工程学.然而,这些活动能被看做同一个领域的两个方面,并且他们同时在这过去的十年间经历了本质上的发展.特别是,当图像模型已经作为一个用来描述和应用概率模型的框架出现时,贝叶斯定理(Bayesian methods)就已经从一个专家级别的知识范畴发展成为主流.通过一系列近似算法推论,例如变分贝叶斯和期望传播(variational Bayes and expectation propagation),贝叶斯定理的实际适用范围也已经大幅度的提高.与此…
取石子游戏 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 37662   Accepted: 12594 Description 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中同时取走相同数量的石子.最后把石子全部取完者为胜者.现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者…
题目:Find The Multiple 题意:求给出的数的倍数,该倍数是只由 1与 0构成的10进制数. 思路:nonzero multiple  非零倍数  啊. 英语弱到爆炸,理解不了题意..... STL 在c++过不了,  一直TLE, 最后只好看了下大神的代码. #include <iostream> #include <algorithm> #include <stdlib.h> #include <time.h> #include <c…
题目:食物链 题意:给定一些关系.判断关系的正确性,后给出的关系服从之前的关系: 思路:难点不在并查集,在于关系的判断,尤其是子节点与根节点的关系的判断: 这个关系看似没给出,但是给出子节点与父节点的关系AND父节点与根节点的关系之后,子节点与根节点的关系是可以确定的. Rank[]存的是与父节点的关系,0是同类,1是被吃,2是吃 1.若Find(x) == Find(y) ,则x y有关系,直接判断关系: 1)  d == 1, Rank[x] == Rank[y] ,  否则fake++:…
Description 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女儿嫁给他.探险家拿不出这么多金币,便请求酋长降低要求.酋长说:"嗯,如果你能够替我弄到大祭司的皮袄,我可以只要8000金币.如果你能够弄来他的水晶球,那么只要5000金币就行了."探险家就跑到大祭司那里,向他要求皮袄或水晶球,大祭司要他用金币来换,或者替他弄来其他的东西,他可以降低价格.探险家于是又跑到其他地方,其他人也提出了类似的要求…
Collecting Bugs Time Limit: 10000MS   Memory Limit: 64000K Total Submissions: 3064   Accepted: 1505 Case Time Limit: 2000MS   Special Judge Description Ivan is fond of collecting. Unlike other people who collect post stamps, coins or other material s…
题目大意,给出一个字符串s,求最大的k,使得s能表示成a^k的形式,如 abab 可以表示成(ab)^2: 方法:首先 先求kmp算法求出next数组:如果 len mod (len-next[len])==0 ,答案就是 len /(len-next[len]),否则答案是1:证明如下: 如果s能表示成 a^k的形式且k>1,k尽可能大,即s可以表示成aaaaaa(k个a):那么next[len]就等于k-1个a的长度:aaaaaaa  aaaaaaa那么 (len-next[len])a的长…
二分图的最小顶点覆盖:用最少的点,让每条边都至少和其中一个点关联.     最大匹配数 = 最小点覆盖数(Konig 定理) 水题…… 突然发现我以前的匈牙利算法模版有问题……因为这里左边的点时1~n,右边的点是1-m,所以有不同的点标号是相同的,注意注意! 因为这个算法本身是O(n^2)的,所以数据必然不会很大,放心用邻接矩阵存吧…… 如果某个边有0,那么不需要加进来,每个产品应该只会出现一次,不然就不对了吧……我想了好久,因为题目并没有说每个产品只出现一次…… //hdu1150 #incl…
在WEEK 5中,作业要求完成通过神经网络(NN)实现多分类的逻辑回归(MULTI-CLASS LOGISTIC REGRESSION)的监督学习(SUOERVISED LEARNING)来识别阿拉伯数字.作业主要目的是感受如何在NN中求代价函数(COST FUNCTION)和其假设函数中各个参量(THETA)的求导值(GRADIENT DERIVATIVE)(利用BACKPROPAGGATION). 难度不高,但问题是你要习惯使用MATLAB的矩阵QAQ,作为一名蒟蒻,我已经狗带了.以下代核心…
Calculate the number of toys that land in each bin of a partitioned toy box. 计算每一个玩具箱里面玩具的数量 Mom and dad have a problem - their child John never puts his toys away when he is finished playing with them. They gave John a rectangular box to put his toy…
扫描线算是线段树的一个比较特殊的用法,虽然NOIP不一定会考,但是学学还是有用的,况且也不是很难理解. 以前学过一点,不是很透,今天算是搞懂了. 就以这道题为例吧:嘟嘟嘟 题目的意思是在一个二维坐标系中给了很多矩形,然后求这些矩形的总覆盖面积,也就是面积并. 我就不讲暴力,直接切入正题吧. 扫描线,听这个名字就可以想象一下,现在有这么多重叠的矩形,然后有一个线从下往上扫,那么每一时刻这条线上被覆盖的长度之和,就是我们要求的答案. 那么首先可以想到,要把给定的矩形都离线下来,拆成上下来个面,并标记…
                                                      Machine Schedule Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 14375   Accepted: 6135 Description As we all know, machine scheduling is a very classical problem in computer science…
题意:给一颗n个节点的树,每条边上有一个距离v(v<=1000).定义d(u,v)为u到v的最小距离.给定k值,求有多少点对(u,v)使u到v的距离小于等于k. /* 照着点分治模板敲了敲,有很多细节地方应该注意,不然很容易出错. 点分治的大概就是解决树上路径中统计某些东西的一个算法,顾名思义,肯定与递归有些关系. 简单步骤就是:①求重心 ②统计这棵树的答案 ③递归到它的子树求解 推荐一篇博客:http://www.cnblogs.com/chty/p/5912360.html */ #incl…
Machine Schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 7357    Accepted Submission(s): 3673 Problem Description As we all know, machine scheduling is a very classical problem in compu…
最小点覆盖集就是在一个有向图中选出最少的点集,使其覆盖所有的边. 二分图最小点覆盖集=二分图最大匹配(二分图最大边独立集) 这题A机器的n种模式作为X部的点,B机器的m种模式作为Y部的点: 每个任务就作为边,端点是可以完成它的A和B的某个模式. 这样,问题就变成在这个二分图中取出最少的点覆盖所有的边. 此外,因为开始机器都是在初始在0模式下的,所以所有可以在0模式完成的任务一开始就让它们完成这样就不需要切换模式. #include<cstdio> #include<cstring>…
其实也是个最小覆盖问题 关于最小覆盖http://blog.csdn.net/u014665013/article/details/49870029 Description As we all know, machine scheduling is a very classical problem in computer science and has been studied for a very long history. Scheduling problems differ widely…
个人心得:二分图啥的一点都不知道,上网借鉴了下,请参考http://blog.csdn.net/thundermrbird/article/details/52231639 加上自己的了解,二分图就是将图形拆分成俩半,俩边的点通过边界相连接.匹配就是不存在俩条边存在同一顶点,就是一个顶点最多连接一条边. 匈牙利算法就是用增广路进行更新,仔细一想确实如此,如果存在这样的途径那么必然可以用亦或就行维护更新,细节看参考. 不过碍于自己图论太low,还是无法运用的好,比如这题,就是最小覆盖点,关于最小覆…