传送门:http://codeforces.com/problemset/problem/603/E 【题目大意】 给出$n$个点,$m$个操作,每个操作加入一条$(u, v)$长度为$l$的边。 对于每次操作后,求出一个边集,使得每个点度数均为奇数,且边集的最大边最小。 $n \leq 10^5, ...
分类:
其他好文 时间:
2017-07-10 23:49:19
阅读次数:
273
1、二分图: ①把一个图的点集划为两个不相交的集合U,V,使得每一条边都连接U,V中的节点。 ②(等价定义,更方便看)不含边数为奇数的环的图 2、匹配(matching): 边集,每一条边所连顶点互不相同 3、最大匹配: 所含边数最大的匹配 4、完美匹配: 所有顶点都被匹配,完美匹配一定是最大匹配。 ...
分类:
其他好文 时间:
2017-06-27 00:09:45
阅读次数:
173
文章转载自:最小生成树-Prim算法和Kruskal算法 图的生成树是它的一棵含有所有顶点的无环连通子图,一棵加权图的最小生成树是它的一棵权值最小的生成树。 Prim算法 算法简单描述 1).输入:一个加权连通图,其中顶点集合为V,边集合为E; 2).初始化:Vnew = {x},其中x为集合V中的 ...
分类:
其他好文 时间:
2017-06-10 12:42:47
阅读次数:
235
传送门 模型 二分图多重匹配问题,可以用最大流解决。 实现 建立二分图,每个单位为X集合中的顶点,每个餐桌为Y集合中的顶点,增设附加源S和汇T。 1、从S向每个Xi顶点连接一条容量为该单位人数的有向边。 2、从每个Yi顶点向T连接一条容量为该餐桌容量的有向边。 3、X集合中每个顶点向Y集合中每个顶点 ...
分类:
其他好文 时间:
2017-06-03 22:35:40
阅读次数:
229
最小生成树简单来说就是在一个有$n$条边的有权无向连通图中选出$n-1$条边,使图连通并且这$n-1$条边的边权和最小。 Kruskal算法是用一种贪心的思想,先将所有的边按边权排序,按边权从小到大顺序枚举边,如果起点和终点不在一个集合,就选这条边,并将起点和终点合并成一个集合;反之则不选此边。集合 ...
分类:
其他好文 时间:
2017-06-03 14:08:53
阅读次数:
112
传送门 引入两个概念: 最小点权覆盖集:满足每一条边的两个端点至少选一个的最小权点集。 最大点权独立集:满足每一条边的两个端点最多选一个的最大权点集。 现在对网格染色,使得相邻两点颜色不同,之后把两个颜色的点分成两个集合X,Y。S向X集合每个点连一条该点权值的边,Y集合每个点向T连一条该点权值的边, ...
分类:
其他好文 时间:
2017-06-03 09:58:09
阅读次数:
297
一:gcc与g++比较 gcc 最开始的时候是 GNU C Compiler, 如你所知,就是一个c编译器。但是后来因为这个项目里边集成了更多其他不同语言的编译器,GCC就代表 the GNU Compiler Collection,所以表示一堆编译器的合集。 g++则是GCC的c++编译器。 现在 ...
分类:
其他好文 时间:
2017-05-31 10:17:50
阅读次数:
224
最小割的建图模式一般是,先算出总收益,然后再通过网络模型进行割边减去部分权值。 然后我们需要思考什么才能带来收益,什么才能有权值冲突。 s连向选的点,t连向不选的点,那么收益的减少量应该就是将s集和t集分开的割边集。 下面说这道题的建图: 点: 每个人一个点,额外设源汇点。 边: 源向人连这个人能造 ...
分类:
其他好文 时间:
2017-05-20 13:14:27
阅读次数:
169
题目链接:hdu 6029 Graph Theory 题意: 有n个点,每个点按标号排序,现在每个点有两种操作,1表示将这个点和之前全部的点连一条边,2表示没有操作。 现在问你是否有一个边集能构成完美匹配。 完美匹配的定义为:1.每个点有且只有一条边。2.每条边的两端都没有重叠的点。 题解: 首先n ...
分类:
其他好文 时间:
2017-05-17 19:17:04
阅读次数:
112
图遍历的演示 [问题描写叙述] 非常多涉及图上操作的算法都是以图的遍历操作为基础的。试写一个程序。演示无向图的遍历操作。 以邻接表为存储结构,实现连通无向图的深度优先和广度优先遍历。以用户指定的结点为起点,分别输出每种遍历下的结点訪问序列和对应生成树的边集。 借助于栈类型(自定义和实现)将深度优先遍 ...
分类:
其他好文 时间:
2017-05-14 10:40:19
阅读次数:
258