03 2015 档案
摘要:转载自这里 给你一个N个顶点M条边的带权有向图,要你把该图分成一个或多个不相交的有向环。且所有定点都被有向环覆盖。问你该有向环所有权值的总和最小是多少? 答案就是:有向环最大权值覆盖=最优匹配。 如果,改为无向图,问你无向环最大权值覆盖?答案也是一样的。只是在建图的时候把有向改为无向即可。分...
阅读全文
摘要:原文转载自大牛,略有改动 KM算法是用来求完备匹配下的最大权匹配:在一个二分图内,左顶点为X,右顶点为Y,现对于每组左右连接有权Wij,求一种匹配使得所有Wij的和最大-------即最佳匹配。 记 L(x) 表示结点 x 的标记量,如果对于二部图中的任何边,都有 L(x)+ L(y)>...
阅读全文
摘要:本文转载自白话经典算法 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比...
阅读全文
摘要:原文:http://www.cnblogs.com/ws5167/p/3903970.html 树状数组主要用于快速的更改某个点的值和查询某个区间的和,是一种比较小巧的数据结构.先看下图: 假设数组A[]是我们要操作的对象,则数组C[]则是数组A[]相对应的树状数组.观察上图,我...
阅读全文
摘要:我们知道,要把一个非边双连通图构造成一个边双连通图,只需把这个图化简(边双连通分量缩点)成一个树,然后 找出叶子节点个数leaf,(leaf+1)/2就是要新添加的边数。 现在,对与有向图来说,我们需要求加最少的边,使得一个非强连通图变成一个强连通图,最少的边数是多少? 同样的,我们需要...
阅读全文
摘要:poj 2762 题意:任给一个图,问你对于任意的两个点x,y之间是否存在从x到y或从y到x的路径? 分析:这显然是要求图是否为单向连通图?我们可以对强连通分量进行缩点,缩点后的图一定是一个有向无环图; 现在,问题等价于给你一个有向无环图,问你它是否为单向连通图。这样,我们就可以对有向无环图进行...
阅读全文
摘要:首先,强连通分量可以缩点,所有缩点后的图一定是一个有向无环图,出度为0的点受其他出度不为0的点的仰慕.因为要求的是受其他所有点仰慕的点的个数(强连通内互相仰慕),所以,当只有一个出度为0的点时,输出它所在的强连通分量的顶点个数就是答案. 1 #include 2 #include 3 ...
阅读全文
摘要:边双连通分量:边连通度大于1的连通分量 在树中至少添加多少边能使得图变为边双连通图 ?添加的边=(叶子节点+1)/2. 在一个无向图中,我们可以把它的边双连通分量缩成一个点,然后一定会得到一颗树,然后按上述方法求叶节点即可。 1 #include 2 #include 3 #in...
阅读全文
摘要:割边:若在连通图中删除某条边,图不再连通,则删除的边为割边。 根据low[i],和dfn[i]的n定义,我们知道,若(u,v)是生成树的一条边,且low[v] > dfn[u],则(u,v)为割边------桥。 zoj 2588 题意:给n个顶点,m条边, 可能有重边。问你图中有几...
阅读全文
摘要:无向图的顶点连通度需要用到网络流来求,并且有以下定理;Mengerg定理: 无向图的顶点连通度K和顶点间的最大独立轨数目之间存在如下关系:① 当图为完全图时: k=V-1 (V表示图中顶点数)② 当图为非完全图h时: K=min{ P(A, B) | 任意不相邻的顶点AB }注意:如果AB相邻...
阅读全文
摘要:两个字符数组可以用strcmp()比较大小。两个整数数组也有个函数memcmp()可以比较大小,和strcmp()的返回值一样的。 头文件#include / #include 函数原型:int memcmp(const void *s1, const void *s2, size_t n)...
阅读全文
摘要:动态字典树每次都要new一个内存来操作,所以耗时也是较多的;所以我们可以先一次性开辟出足够的空间,然后模拟动态字典树的创建查找过程来写出相应的静态字典树。代码都差不多,主要是你得先学会了动态字典树;接下来的事情就是模拟了,,,模拟,,模拟。结构定义:struct Trie{ int...
阅读全文
摘要:本文转自于:http://www.cnblogs.com/tanky_woo/archive/2010/09/24/1833717.html代码部分有改动。 字典树: 又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),...
阅读全文
摘要:1 #include 2 #include 3 #include 4 #define _clr(x, y) memset(x, y, sizeof(x)) 5 #define Min(x, y) (x Q; 16 17 // 一般预流推进算法 --47ms 18 void...
阅读全文

浙公网安备 33010602011771号