本文直接来源http://blog.csdn.net/xuanandting/article/details/52160859,如有侵权,请联系删除。 训练过ACM等程序设计竞赛的人在算法上有较大的优势,这就说明当你编程能力提高之后,主要时间是花在思考算法上,不是花在写程序与debug上。 下面给个 ...
分类:
其他好文 时间:
2017-05-02 19:53:20
阅读次数:
182
题目链接:https://www.oj.swust.edu.cn/problem/show/1739 从1开始枚举球的个数,每次从残余网络更新总流量,最小路径覆盖刚好大于n时ret-1便是最多球。 之后根据容量为0的边找回匹配边即可。 用x << 1和x << 1 | 1拆点 比较方便。 ...
分类:
其他好文 时间:
2017-05-02 10:02:21
阅读次数:
227
转载自:http://www.cnblogs.com/icode-girl/p/5418461.html 【最小路径覆盖】 首先给出公式:DAG的最小路径覆盖数=DAG图中的节点数-相应二分图中的最大匹配数. 一个PXP的有向图中,路径覆盖就是在图中找一些路径,使之覆盖了图中的所有顶点,且任何一个顶 ...
分类:
其他好文 时间:
2017-04-30 12:45:15
阅读次数:
153
题目链接:http://hihocoder.com/problemset/problem/1394 相当于数一数最少有多少条链,这就是最小路径覆盖问题:给定一个有向无环图,用最少的路径数量去保证所有点都被覆盖住。 利用有向图中一条链的前驱和后继唯一(也可能没有)这一条性质就可以建立二分图,最大匹配出 ...
分类:
其他好文 时间:
2017-04-30 12:33:25
阅读次数:
175
http://acm.hdu.edu.cn/showproblem.php?pid=4862 选t<=k次,t条路要经过全部的点一次而且只一次。 建图是问题: 我自己最初就把n*m 个点分别放入X集合以及Y集合,再求最优匹配,然后连例子都过不了,并且事实上当时解释不了什么情况下不能得到结果。由于k此 ...
分类:
编程语言 时间:
2017-04-28 16:08:49
阅读次数:
158
题目:Air RaidTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 124 Accepted Submission(s): 102 Proble ...
分类:
其他好文 时间:
2017-04-25 10:04:33
阅读次数:
298
网络流 网络流24题 【最小路径覆盖问题】 关于输出路径,因为即使有反向弧经过左侧点也一定会改变左侧点的去向,若没连向右侧就会被更新到0,所以不用在意。 mark记录有入度的右侧点,然后从没入度的右侧点开始把整条路径输出来即可。 #include<cstdio> #include<algorithm ...
分类:
其他好文 时间:
2017-04-16 22:21:45
阅读次数:
300
匈牙利算法用于二分图匹配 还有几个知识点: 最大匹配数:最大匹配的匹配边的数目最小点覆盖数:选取最少的点,使任意一条边至少有一个端点被选择最大独立数:选取最多的点,使任意所选两点均不相连最小路径覆盖数:对于一个 DAG(有向无环图),选取最少条路径,使得每个顶点属于且仅属于一条路径。路径长可以为 0 ...
分类:
编程语言 时间:
2017-04-16 17:55:17
阅读次数:
223
1739: 魔术球问题 题意: 假设有n根柱子,现要按下述规则在这n根柱子中依次放入编号为1,2,3,...的球。 (1)每次只能在某根柱子的最上面放球。 (2)在同一根柱子中,任何2个相邻球的编号之和为完全平方数。 试设计一个算法,计算出在n根柱子上最多能放多少个球。对于给定的n,计算在n根柱子上 ...
分类:
其他好文 时间:
2017-04-14 00:12:29
阅读次数:
330
最小点覆盖:用最少的点(X集合或Y集合都的都行)让每条边都至少和其中一个点关联。 结论:最小点覆盖数 = 最大匹配数M 因为只需要让它们覆盖最大匹配的M条边,则其它边一定被覆盖,而每一条边只需选择一个节点。 DAG图的最小路径覆盖:用尽量少的不相交的简单路径覆盖有向无环图所有顶点。 二分图模型:把所 ...
分类:
其他好文 时间:
2017-04-13 08:46:22
阅读次数:
172