![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法ACM
文章平均质量分 75
willsongrui
这个作者很懒,什么都没留下…
展开
-
新的开始
最近在学算法和acm,写个博客方便记忆原创 2013-03-17 09:15:04 · 346 阅读 · 0 评论 -
二分图算法
图1是我给出的二分图中的一个匹配:[1,5]和[2,6]。图2就是在这个匹配的基础上找到的一条增广路径:3->6->2->5->1->4。我们借由它来描述一下二分图中的增广路径的性质: (1)有奇数条边。 (2)起点在二分图的左半边,终点在右半边。 (3)路径上的点一定是一个在左半边,一个在右半边,交替出现。(其实二分图的性质就决定了这一点,因为二分图同一边的点之间没有边相连,不要转载 2013-03-18 11:27:17 · 535 阅读 · 0 评论 -
二分图的最大匹配
二分图最大匹配问题在实际中有很多应用。 首先介绍一下二分图和匹配的相关概念: 二分图:是指节点可以被划分成两个不想交的子集L和R,每个部分内没有边的图,即所有边都横跨L和R。 匹配:是边的一个子集,使得对所有节点v,子集中最多只有一条边以v为端点。最大匹配是该子集所包含边的最大数目。 求二分图的最大匹配有两种方法,一种是通过将二分图的最大匹配转换为最大流问题来解决,算法复杂度比较高原创 2013-03-18 14:13:59 · 505 阅读 · 0 评论 -
最大流算法
最大流算法描述的是一个源节点经过流网络达到目的节点的最大流量问题。 对于多源节点和多目的节点的问题可以通过增加一个超级源节点和超级汇聚节点来转换成单源节点和目的节点的问题。 在流网络G(V,E)中,相邻的节点之间有容量限制,实际的流量应不大于这个限制。如果(u,v)属于E,则(u,v).capacity为其容量限制,(u,v).flood为实际在这个边上的流量。(u,v).f 流网络G为有向原创 2013-03-18 10:58:52 · 922 阅读 · 0 评论 -
最小度限制生成树
poj 1639 最小度限制生成树 最小度限制生成树就是给一个图,让求它的最小生成树。找的的最小生成树满足并且点vo的度最大为k。 算法流程如下: 1.将该点(以下用v0表示)从图中删除,将得到p个连通分量。 2.对每个连通分量求最小生成树。 3.从每个连通分量中找与v0关联的权值最小的边,与v0相连接,这样将得到v0的最小p度生成树 4.如果 k 那么这种树是转载 2013-04-15 16:40:07 · 643 阅读 · 0 评论 -
最小费用最大流模版
一、最小费用最大流的模型 在保证流量最大的前提下,所需的费用最小,这就是最小费用最大流问题. 带有费用的网络流图: G=(V,E,C,W) V:顶点; E:弧;C:弧的容量;W:单位流量费用。 任意的弧对应非负的容量c[i,j]和单位流量费用w[i,j]。满足: ① 流量f是G的最大流。 ② 在f是G的最大流的前提下,流的费用最小。 F是G的最大流的集合(最大流转载 2013-04-16 13:55:34 · 684 阅读 · 0 评论 -
树状数组 模版
总体上讲,树状数组是为了方便求数组前n项和的一种数据结构,在数组元素经常变动的情况下而对数组求和的时间要求很高时使用 个人感觉应用面比较窄。 模版: void add(int m) { for(int i=m;i } int sum(int end) { int s=0; while(end>0) { s+=ar[end]; end=end-lowbit(end);原创 2013-04-20 17:14:18 · 409 阅读 · 0 评论