随笔分类 -  网络流

摘要:样例说明:n(城市数目) m(工程队数目)每个工程队上交的税收 val[i]k(k个工程)xi yi ci costi , 工程队ci承包由xi到yi,政府的补贴为costi注意:如果聘用了工程队c,则所有与工程队c的项目政府都得补贴,并且所有与c相关的工程队也得参与建设(政府补贴)。这里的有关系是指:工程队c,d承包的项目 xc yc , xd yd中yc==xd。感觉题意好难理解。理解之后就好办了,这不就是裸的最大权闭合子图吗?不懂请看Amber的《论文最小割模型在信息学竞赛中的应用》。政府最大获利 = 实际上总的税收-实际上政府的补贴 = 雇佣的公司的税收-雇佣的公司的补贴 = 总税.. 阅读全文
posted @ 2013-09-09 15:43 yejinru 阅读(271) 评论(0) 推荐(0) 编辑
摘要:题目:给出n*kk的矩阵,格子a[i][k]表示第i个客户需要第k种货物a[i][k]单位。给出m*kk的矩阵,格子b[j][k]表示第j个供应商可以提供第k种货物b[j][k]单位。再给出k个n*m的矩阵,格子c[k][i][j]表示第k种货物由j供应商提供给客户i的话,每单位运费为c[k][i][j]。问最小费用。分析: 刚开始时,虽然考虑到每种货物其实是不相关的,但是想到在跑费用流时应该没多大影响,所以直接建图,跑最小费用流,TLE了。。。 后来对于每种货物单独来考虑,即建图之后跑一次最小费用流,进行k次求费用流之后,判断总流是否等于需求的货物数量。这样建图,节点数明显减少了很多,实.. 阅读全文
posted @ 2013-09-05 20:27 yejinru 阅读(194) 评论(0) 推荐(0) 编辑
摘要:题目:给出n*n的方格矩阵,现在从左上方走m次到右下方,问m次能够获得的最大价值和。分析:最大费用流。拆点进行限制每个格子只取一次,假设点x拆成 x,xx,右边(假设有)y,yy,下方(假设有)z,zz 点 点 流量 费用 则:x , xx , 1 , -a[i][j] x , xx , m , 0 xx, y , m , 0 xx , z , m , 0 用最小费用流增广m次即可#include #include #include #include #include #include #include #include #include #include #in... 阅读全文
posted @ 2013-09-05 14:43 yejinru 阅读(275) 评论(0) 推荐(0) 编辑
摘要:题目:p条路,连接n个节点,现在需要从节点1到节点n,不重复走过一条路且走t次,最小化这t次中连接两个节点最长的那条路的值。分析:二分答案,对于#include #include #include #include #include #include #include #include #include #include #include using namespace std;typedef long long ll;typedef unsigned long long ull;#define debug puts("here")#define rep(i,n) for( 阅读全文
posted @ 2013-09-02 15:51 yejinru 阅读(182) 评论(0) 推荐(0) 编辑
摘要:题目:给出n部电影的可以在周几拍摄、总天数、期限,问能不能把n部电影接下来。分析: 对于每部电影连上源点,流量为总天数。 对于每一天建立一个点,连上汇点,流量为为1。 对于每部电影,如果可以在该天拍摄,则连上一条流量为1的边。 跑一次最大流。。。#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;typedef long long ll;typedef unsigned long lo... 阅读全文
posted @ 2013-09-02 15:24 yejinru 阅读(274) 评论(0) 推荐(0) 编辑
摘要:1822: [JSOI2010]Frozen Nova 冷冻波Time Limit:10 SecMemory Limit:64 MBSubmit:585Solved:175[Submit][Status]DescriptionWJJ喜欢“魔兽争霸”这个游戏。在游戏中,巫妖是一种强大的英雄,它的技能Frozen Nova每次可以杀死一个小精灵。我们认为,巫妖和小精灵都可以看成是平面上的点。 当巫妖和小精灵之间的直线距离不超过R,且巫妖看到小精灵的视线没有被树木阻挡(也就是说,巫妖和小精灵的连线与任何树木都没有公共点)的话,巫妖就可以瞬间杀灭一个小精灵。 在森林里有N个巫妖,每个巫妖释放Froze 阅读全文
posted @ 2013-09-01 15:48 yejinru 阅读(319) 评论(0) 推荐(0) 编辑
摘要:2879: [Noi2012]美食节Time Limit:10 SecMemory Limit:512 MBSubmit:324Solved:179[Submit][Status]DescriptionCZ市为了欢迎全国各地的同学,特地举办了一场盛大的美食节。作为一个喜欢尝鲜的美食客,小M自然不愿意错过这场盛宴。他很快就尝遍了美食节所有的美食。然而,尝鲜的欲望是难以满足的。尽管所有的菜品都很可口,厨师做菜的速度也很快,小M仍然觉得自己桌上没有已经摆在别人餐桌上的美食是一件无法忍受的事情。于是小M开始研究起了做菜顺序的问题,即安排一个做菜的顺序使得同学们的等待时间最短。小M发现,美食节共有n种不 阅读全文
posted @ 2013-09-01 14:34 yejinru 阅读(454) 评论(0) 推荐(0) 编辑
摘要:题目:给出一个图,从图中找出两条最短路,使得边不重复。分析:既然是最短路,那么,两条路径上的所有节点的入边(s,x)、出边(x,e)必定是最优的,即 dis[x] = dis[s]+edge_dis,dis[e] = dis[x]+edge_dis。 dis表示点x到节点1的最短路的距离。 所以建图时,先求一边最短路,根据最短路上的前驱(可能有多个)与该节点构成新图,对于新图求一遍最大流判断最大流是否大于等于2即可。 /*题目:给出一个图,从图中找出两条最短路,使得边不重复。分析:先求一遍最短路,最短路上的点可以构成一个新图,对于新图求一遍最大流,如果存在大于1的最大流,则有解。*/#... 阅读全文
posted @ 2013-08-26 13:39 yejinru 阅读(297) 评论(0) 推荐(0) 编辑
摘要:最近做了一下這兩題,所以做個簡單的總結。1001: [BeiJing2006]狼抓兔子Time Limit:15 SecMemory Limit:162 MBSubmit:5710Solved:1290[Submit][Status][Discuss]Description现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的,而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个网格的地形:左上角点为(1,1),右下角点为(N,M)(上图中N=4,M=5).有以下三种类型的道路 1:(x,y)<==>(x+1,y) 阅读全文
posted @ 2013-04-19 23:09 yejinru 阅读(496) 评论(0) 推荐(0) 编辑
摘要:若有错,请指出^_^67755042012-09-16 17:05:39Accepted4292125MS2436K3010 BG++yejinru67754962012-09-16 17:05:08Accepted428978MS1488K2452 BG++yejinru1002 Control 题目: 给出歹徒的起点、终点以及每个经过的节点的权值,问如何安排警察在节点上拦截歹徒,使得歹徒总会被逮获,并且使得费用最少分析: 最小割问题,对于每个节点进行拆点操作(a,a+n两条边),流量为他的点权。然后对于边相连的情况,由于边是无向边,所以建立四条边(a+n,b),(b+n,a),... 阅读全文
posted @ 2012-09-16 17:02 yejinru 阅读(1711) 评论(0) 推荐(0) 编辑