上一页 1 2 3 4 5 6 7 8 9 ··· 17 下一页
摘要: 题意:有n类产品,其中第i类产品共需要Ci件。有m名员工,员工能够制造的产品种类有所区,一件产品必须完整地由一名员工制造,对于员工i,他的愤怒值与产品数量之间的函数是一个Si+1段的分段函数。当他制造第1~Ti,1件产品时,每件产品会使他的愤怒值增加Wi,1,当他制造第Ti,1+1~Ti,2件产品时 阅读全文
posted @ 2017-02-28 23:06 WDZRMPCBIT 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一张有向图,求一个路径集合,集合中的路径满足:1、起点为1,终点出度为0 2、集合中的路径覆盖了所有的点 3、在满足前两个条件的基础上,路径权值和最小 题解: 显然是个带下界的有源费用流。按照如下方式建模,对于一条边权为w的边(u,v)和任意一个点x x向T连容量为k费用为0的边,表示其后 阅读全文
posted @ 2017-02-28 23:02 WDZRMPCBIT 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 题意:有N种菜,M位厨师,每位厨师做每种菜的时间不同。有K个人,每个人点ki个菜,求最小等待时间。 题解: 和BZOJ1070一个题,不过多了一个N,因此考虑优化。 显然决策倒数第K个菜的前提是倒数第K-1个菜已经决定完成,因此SPFA每搜出一条路径,就在这个厨师这里加边。说白了就是动点。 #inc 阅读全文
posted @ 2017-02-28 22:58 WDZRMPCBIT 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 题意:给定N辆车和M个人,每个人修每辆车的时间不同,安排修理顺序使得修理这N辆车时间总和最小 题解: 将每个工作人员拆点,某个车b向ai连边表示工作人员a倒数第i个修理该车,显然其对答案的贡献(该边费用)就是w[b][a]*i(其后所有等待的车都要受其影响,而之前的车都不会)。 构图两排点,左边是车 阅读全文
posted @ 2017-02-28 22:55 WDZRMPCBIT 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一张有向图,求1到N:1、最多有多少条不相交的路径 2、在第一问的基础上,求所有路径的最小距离和 题解:拆点之后费用流裸题 #include <queue> #include <cstdio> #include <cstring> #include <cstdlib> #include < 阅读全文
posted @ 2017-02-28 22:51 WDZRMPCBIT 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 题意:一个N M的矩形区域。格子如果是'.',那么表示这是一块空地;如果是'X',那么表示这是一面墙,如果是'D',那么表示这是一扇门,人们可以从这儿撤出房间。已知门一定在房间的边界上,并且边界上不会有空地。每块空地上都有一个人,在疏散的时候,每一秒钟每个人都可以向上下左右四个方向移动一格,当然他也 阅读全文
posted @ 2017-02-28 22:47 WDZRMPCBIT 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 题意:求一张图的最大独立点集 题解:先用Floyd把每个点是否连通跑出来,然后拆点做二分图,左边一列,右边一列,如果u v连通,则将左边的u和右边的v相连,由于需要求一个最大的点集使得其中的任意两个点均不连通,所以跑最大独立集=总点数-最大匹配。 #include <queue> #include 阅读全文
posted @ 2017-02-28 22:43 WDZRMPCBIT 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 题意:求1到N的所有最短路方案上的最大流,阈值在每个点上 题解:呵呵哒 #include <queue> #include <vector> #include <functional> #include <cstdio> #include <cstring> #include <cstdlib> # 阅读全文
posted @ 2017-02-28 22:41 WDZRMPCBIT 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 题意:有三种人:1、该校回家生 2、该校不回家生 3、非该校住宿生。给出人的认识关系,假若a认识b,则b(a)可以睡在a(b)的床上,只有该校的学生有床,回家生不占床位,求是否能让所有留宿的人都有床睡 题解:建二分图,左边是宿舍右边是学生。从S向需要宿舍的学生连边,从能提供宿舍的位置向T连边,如果某 阅读全文
posted @ 2017-02-28 22:37 WDZRMPCBIT 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一个N*N的矩阵B和一个1*N的矩阵C。求出一个1*N的01矩阵A.使得D=(A*B-C)*A^T最大。其中A^T为A的转置。输出D 题解:D=A*B*AT-A*C,逐项分析,减号前面那一项,是如果要拥有B[i][j]的价值,前提是A[i]=A[j]=1;减号后面那一项,是要让A[i]=1 阅读全文
posted @ 2017-02-28 22:34 WDZRMPCBIT 阅读(161) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 17 下一页