上一页 1 ··· 4 5 6 7 8 9 10 11 12 13 下一页
摘要: 传说中的带权有向图上的中国邮路问题。【题目大意】带权有向图上的中国邮路问题:一名邮递员需要经过每条有向边至少一次,最后回到出发点,一条边多次经过权值要累加,问最小总权值是多少。(20的点,加边(s,i,Di,0);对于Di0的边(i,j),在原图中复制fij份,这样原图便成为欧拉图,求一次欧拉回路即可。以上摘自Edelweiss《网络流建模汇总》启示:这篇论文的前面还讲到一个混合图欧拉回路的问题(就是给出一张既含有有向边又含有无向边的图,问你是否能通过确定图中一些无向边的方向使得图中存在欧拉回路),这种涉及到回路的问题,都要抓住每个点的出度和入度这两个非常重要的条件来构图。 1 #inclu. 阅读全文
posted @ 2013-10-06 19:32 浙西贫农 阅读(455) 评论(0) 推荐(0) 编辑
摘要: 限制增广次数的费用流。【题目大意】一个N*N的网格,每个单元都有一个价值Vi的宝物和一个高度Hi。现在ZhouGuyue要作至多K次旅行,每次旅行如下:他可以借助bin3的直升机飞到任意一个单元,之后他每次只能向相邻的且高度比当前所在格子低的格子移动。当他移动到一个边界的格子上时,他可以跳出这个网格并完成一次旅行。旅行中所到之处的宝物他可以全部拿走,一旦拿走原来的格子里就没有宝物了。问他最多能拿走价值多少的宝物。(1Hj则加边(i’’,j’,∞,0);若格子i在边界上则加边(i’’,t,∞,0)。限制增广次数小于等于K求最小费用流即可。以上摘自Edelweiss《网络流建模汇总》启示:1.增广 阅读全文
posted @ 2013-10-06 16:12 浙西贫农 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 题意:求两条从s->t的路径,使得两条路径不能经过相同的点和边,且两条路径长度之和最小。其实一看到所有点和边只能经过一次,就很容易想到费用流了。拆点,将每个点拆i成(i,i')。对于原图中的每个点,连一条(i,i',1,0)的边,对于原图中的每条边(u,v),连一条(u',v,1,w)的边(w为边的权值),然后添加源S->i',cost=0,cap=2的边(S,i,2,0)的边,添加汇点T,同理,建一条(t,T,2,0)的边,跑一次最小费用最大流就可以得到答案了。其实这题很简单,但是我比赛的时候逗比了。。居然忘记了对源点容量的限制,另一方面我费用流写 阅读全文
posted @ 2013-10-06 14:15 浙西贫农 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 传说中的凸费用流问题,对于一条有c1容量免费,超出容量部分增加的每单位流量费用为c2的边(u,v),在原图中拆成两条边(u,v,c1,0),(u,v,INF,c2)。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #define maxn 1010 7 #define maxm 200010 8 #define INF 0x3f3f3f3f 9 using namespace std; 10 typedef long long LL; 11 int N,M,C,P; 12 struct MCMF{ ... 阅读全文
posted @ 2013-10-06 13:34 浙西贫农 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一个只含01的字符串,然后用s(i-1) xor s(i+1)的结果去更新s(i),最后问能否将原串更新成全部为0的字符串。一拿到就觉得这应该是找规律题,经过简单的推理,可以得到这么一些结论:1.当字符串长度为1,3,7的时候,无论原串是什么,分别最多做1,3,7次操作,总能变成全部为0的串(YY:只要字符串的长度为2^n-1,无论原串是什么,总能变成全部为0的串)2.当字符串长度为偶数时,除非原串本身全为0,否则不可能将原串更新为全部为0的串(这个能证出来,倒着推一下就行了,给出一个长度为偶数且全为0的串,向上推一个可行的状态,让它不仅含有1而且还可以变成全部为0的,这是不可能的) 阅读全文
posted @ 2013-10-03 18:30 浙西贫农 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 一看到这个题就知道是最大闭合子图了,关于最大闭合子图的定义和建图,都是看胡伯涛的论文上的。这里有两问,首先是要求闭合图权最大,第二问,也是比较有难度的就是在闭合图权最大的条件下,尽量多的让dream所代表的点出现在最大权闭合图的闭合图中。最大闭合图是最小割模型的一个应用。由于一个流网络的最小割可能不唯一,所以最大闭合图也不一定是唯一的,所以第二问的难度就增加了。这里的解决方法是借助偏移量来维护两个量,一个是最大流,一个是用到的点数。由题意可得,图中点数最多将达到2002,那么现在选择一个MOD=3000的偏移量。首先要统计图中所有点权为正的点的权和sum。建图的时候,对于每个价值为value的 阅读全文
posted @ 2013-10-02 19:50 浙西贫农 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 已知图中点数n,边数m1.统计每个点的度数d(i)2.枚举参数g的区间[0,m]3.参数精度要求1/(n^2)4.每次枚举参数的建图:源点为S,汇点为T,addedge(from,to,cap)(1)对每条边(x,y) addedge(x,y,1) addedge(y,x,1)(2)对每个点i addedge(S,i,m) addedge(i,T,m+2*g-d(i))(3)做一次最大流,h=maxflow(S,T)5.若h/2>eps l = mid,否则,r = mid6.用求得的low跑一次最大流,从S点dfs所有没有满流的边,给所有非S,T的点标记,这些点就是最后所求得的点。 1 阅读全文
posted @ 2013-08-17 12:28 浙西贫农 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 作为一个刚入门网络流的弱菜,表示看到这个题,实在建不出图。直接在discuss看的别人怎么建图的。既然看了别人的建图方法,那只能讲讲目前的理解了。题意: 给定一个 n * m 大小的矩阵, 矩阵中每个格子都有一个不大于 1000 的正整数,现在要从矩阵中选出若干个格子, 使得得分最大. 得分等于选取的格子里的数字和. 如果有两个格子相邻, 则得分将减去 2 * (x & y), x 和 y 为相邻两个格子内的数字. 此外, 还有一些格子是必选的.二分图最小点权覆盖的建图方法:建立超级源点S和超级汇点T,对于二分图X,Y中的点,从S向X连一条容量为X权值的边,从Y向T连一条容量为Y权值的 阅读全文
posted @ 2013-08-08 18:32 浙西贫农 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 白书二代上提到了无源无汇有容量下界网络可行流和有容量下界网络的s-t最大/最小流问题。但是由于本人智商捉鸡,觉得LRJ大神写的似乎不是很好理解,所以只能找一些题目来帮助自己理解理解了。这里直说方法,证明。。。不会。1.无源无汇有容量下界可行流这个问题的解法在周源的那个论文里讲的很清楚了。对于每条边,都有一个容量下界b和一个容量上界c,那么这条边实际的可行流量只有c-b,剩下的b必须满流。对每个点i,求a = sum(流向它的下界流)-sum(从它流出的下界流量)若a>0,从源点0连一条到i的容量为a的边若a 2 #include 3 #include 4 #include 5 #... 阅读全文
posted @ 2013-08-06 20:15 浙西贫农 阅读(428) 评论(0) 推荐(1) 编辑
摘要: 给这题跪了。先是各种暴栈,然后又是各种WA,看来还是对题目的理解有点问题。题意:给出一张无向图,然后让你在图中加一条边,使得图中剩下的桥最少。思路:求边双连通分量,缩点后形成一棵树。然后求树的最长的两条链(这两条链不能交叉,应该说同根吧)。鄙人跪就跪在重边这里了。如果节点1-2之间有一条重边,则1和2属于同一边双连通分量。。 1 #pragma comment(linker, "/STACK:10240000000,10240000000") 2 #include 3 #include 4 #include 5 #include 6 #include 7 #includ.. 阅读全文
posted @ 2013-08-06 19:38 浙西贫农 阅读(168) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 13 下一页