07 2016 档案

摘要:将每个点拆分成原点A与伪点B,A->B有两条单向路(邻接表实现时需要建立一条反向的空边,并保证环路费用和为0),一条残留容量为1,费用为本身的负值(便于计算最短路),另一条残留容量+∞,费用为0(保证可以多次通过该点,但费用只计算一次)。   另外伪点B与原点右侧与下方的点有一条单向路(邻接表实现需要建立反向空边),残留容量为+∞,费用为0。源点0到点1有一条单向路,残留容量为K(可以通过K次),最后一个点的伪点2*n*n与汇点2*n*n+1有一条单向边,残留容量为K,两条边的费用都为0。 阅读全文
posted @ 2016-07-29 17:30 文字失效 阅读(422) 评论(0) 推荐(0)
摘要://以行列建点,伞兵位置为单向边-利用对数将乘积转加法 //最小割转最大流 //Time:63Ms Memory:792K #include #include #include #include #include #include using namespace std; #define MAXN 105 #define INF 100000 #define EPS 1e-7 int... 阅读全文
posted @ 2016-07-29 09:41 文字失效 阅读(299) 评论(0) 推荐(0)
摘要:重点:构图 阅读全文
posted @ 2016-07-28 18:28 文字失效 阅读(233) 评论(0) 推荐(0)
摘要:题意有点难读懂 阅读全文
posted @ 2016-07-28 14:45 文字失效 阅读(270) 评论(0) 推荐(0)
摘要:需要直接到达,因此源点经过三条边后必须要达到汇点,但为了保证网络流的正确性(路径可反悔),因此不可限制层次网络的最高层次为3,最好的方法既是让所有点拆分成两个点,一个点从汇点进入,一个点通向汇点,任意两点的路径则标注为最短路径。 阅读全文
posted @ 2016-07-28 14:43 文字失效 阅读(487) 评论(0) 推荐(0)
摘要://网络流判定混合图欧拉回路 //通过网络流使得各点的出入度相同则possible,否则impossible //残留网络的权值为可改变方向的次数,即n个双向边则有n次 //Time:157Ms Memory:348K #include #include #include #include #include using namespace std; #define MAXN 205 ... 阅读全文
posted @ 2016-07-28 14:38 文字失效 阅读(315) 评论(0) 推荐(0)
摘要:采用EK算法解网络流经典题,本题构图思路比较明确。 阅读全文
posted @ 2016-07-26 13:42 文字失效 阅读(174) 评论(0) 推荐(0)
摘要:按照电站发电(从源点到电站),消费者消费(从消费者到汇点)的想法构建网络 阅读全文
posted @ 2016-07-26 12:40 文字失效 阅读(242) 评论(0) 推荐(0)
摘要:Optimal Milking 阅读全文
posted @ 2016-07-26 09:38 文字失效 阅读(283) 评论(0) 推荐(0)
摘要:基于残留网络与FF算法的改进-EK算法,核心是将一条边的单向残留容量的减少看做反向残留流量的增加。 阅读全文
posted @ 2016-07-25 16:50 文字失效 阅读(317) 评论(0) 推荐(0)
摘要:两道网络流入门题目,第一道考验建模能力 阅读全文
posted @ 2016-07-25 12:07 文字失效 阅读(353) 评论(0) 推荐(0)
摘要:判断是欧拉通路后,DFS简单剪枝求解字典序最小的欧拉通路路径 阅读全文
posted @ 2016-07-24 13:01 文字失效 阅读(387) 评论(0) 推荐(0)
摘要:本题可以通过全部n位二进制数作点,而后可按照某点A的末位数与某点B的首位数相等来建立A->B有向边,以此构图,改有向图则是一个有向欧拉回路,以下我利用DFS暴力求解该欧拉回路得到的字典序最小的路径。 阅读全文
posted @ 2016-07-24 09:31 文字失效 阅读(577) 评论(0) 推荐(0)
摘要:仔细打表...模拟深搜,欧拉回路参见POJ1392解题报告 阅读全文
posted @ 2016-07-23 14:15 文字失效 阅读(318) 评论(0) 推荐(0)