随笔分类 -  图论

摘要:周冬的《两极相通——浅析最大最小定理在信息学竞赛中的应用》把方法讲的很详细了。几点:1、把平面图G*中每一个面抽象成对偶图G*中的点。2、平面图包含f个面,设边e分割fi, fj,则连边(fi, fj)。3、关于如何区分源点和汇点。可以先连接s和t,得到一个附加面。如下图s->4->7->t->s,s*放到附加面中,t*放到无边界的面中,加以区分。4、建好图后要把(s*, t*)这条边删掉。5、G的面数等于G*的点数,G*的点数等于G的面数6、G与G*边数相同 G*中的环对应G中的割一一对应如图:hdu 3780题意是求最小割。直接套网络流模板会TLE。转换成最短路模型 阅读全文
posted @ 2013-06-01 11:39 AC_Von 阅读(1483) 评论(0) 推荐(1) 编辑
摘要:胡伯涛的《最小割模想在信息学竞赛中的应用》中讲到了最大密集子图。而这题是一个很裸的最大密集子图。。。定义:无向图G中存在一个子图G‘,使得G‘中|E|/|V|最大。即:分数规划,设一个猜想值g,构造一个新函数h(g) = max{sigma(Xe) - sigma(g*Xv)} (Xe属于边集,Xv属于点集)有:已知:乘以-1得:乘以2化简得:其中C[V', !V']表示的图的最小割。所以可以根据如下方式建图:dv最大为m,所以U = m即可, 1/n <= g <= m/1;同时有一个结论:任意两个密集子图,他们的密度查不小与1/n2另外(摘自Discuss):这 阅读全文
posted @ 2012-10-25 20:14 AC_Von 阅读(3091) 评论(0) 推荐(0) 编辑
摘要:题意就是找森林里的LCA,构图完成了这个题基本就没问题了。已知的是所给的图上是可能有环的。那么可以对这些环进行类似缩点的操作(当然不是tarjan),设一个虚拟根0点,链接环上的每一个点。对于不在环上的点直接加无向边建树就行。预处理出每个环包含哪些点,每个环中点的顺序(环是有方向的)对得到的树进行LCA到RMQ的转化,同时记录当前点到0点的距离,O(nlogn)的时间预处理,O(1)的时间求LCA。分几种情况:1、两点的LCA是环上的同一个点,这个直接出结果(根据距离)2、两点的LCA在同一个环的不同点上,这个要根据环的方向判断一下优弧劣弧。3、两点的LCA不再同一环上。直接输出-1 -1;详 阅读全文
posted @ 2012-09-20 21:21 AC_Von 阅读(500) 评论(0) 推荐(0) 编辑
摘要:写个类,以后到这里找就行。^_^const int M = 5024;struct node { int to; int val; int next;} g[N<<1];class Graph {public: int head[M], t; void init() { CL(head, 0XFF); t = 0; } void add(int u, int v, int w) { g[t].to = v; g[t].val = w; g[t].next = head[u]; head[u] = t++; ... 阅读全文
posted @ 2012-08-24 09:02 AC_Von 阅读(180) 评论(0) 推荐(0) 编辑
摘要:定义:一个有向图,存在从某个点开始的到达所有的的一个最小生成树,则它就是最小树形图。从早晨到现在一直在翻资料,终于理解了一点。朱-刘算法的大概过程如下:1、找到除了root以为其他点的权值最小的入边。用In[i]记录2、如果出现除了root以为存在其他孤立的点,则不存在最小树形图。3、找到图中所有的环,并对环进行缩点,重新编号。4、更新其他点到环上的点的距离,如:环中的点有(Vk1,Vk2,… ,Vki)总共i个,用缩成的点叫Vk替代,则在压缩后的图中,其他所有不在环中点v到Vk的距离定义如下:gh[v][Vk]=min { gh[v][Vkj]-mincost[Vkj] } (1<=j 阅读全文
posted @ 2012-07-18 09:48 AC_Von 阅读(10316) 评论(0) 推荐(0) 编辑
摘要:黑书+论文+各种资料。终于理解了一点。。。最小度限制生成树就是给一个图,让求它的最小生成树。找的的最小生成树满足并且点vo的度最大为k。算法流程如下:1.将该点(以下用v0表示)从图中删除,将得到m个连通分量。2.对每个连通分量求最小生成树,假设m个。3.从每个连通分量中找与v0关联的权值最小的边,与v0相连接,这样将得到v0的最小m度生成树4.如果 k < m 那么这种树是不存在的。5.如果 k >=m ,那么考虑构建 m+1度 最小生成树 ,将与v0关联的且不在当前的树中的边6.如果将其加入树中 ,必然会存在一个环,那么删掉该环中与v0不关联的权值最大边,将得到加入该边后的最小 阅读全文
posted @ 2012-07-03 21:50 AC_Von 阅读(1825) 评论(0) 推荐(1) 编辑
摘要:图算法度限制最小生成树和第K最短路,分数规划 poj1639, poj3621, poj2976poj2449,poj3255,poj2513最短路,最小生成树,二分图,最大流问题的相关理论poj3155,poj2112,poj1966,poj3281,poj1087,poj2289,poj3216,poj2446最优比率生成树poj2728(0/1分数规划应用)最小树形图poj3164(朱-刘算法)次小生成树poj1679(存在O(n^2)的DP解法)2-SAT问题poj3207, poj3678, poj3683,poj3648, poj2723, poj2749无向图、有向图的最小... 阅读全文
posted @ 2012-07-02 19:11 AC_Von 阅读(503) 评论(0) 推荐(0) 编辑
摘要:/*用并查集做可以,不过总觉得别扭。明明是图论的题嘛。今天在师兄博客里看到这个 解法,用二分限定所取的边的权值。设最大与最小差为lim,最小为low。所以low <= weight <= low + lim;所以,用二分取到lim最小的一个。ps:限定low时需与熬用到hash,否则直接存m个weight会TLE。不能抵达终点输出-1,我晕,因为这个错了好几次。。。T_T*///My Code: 234+MS#include <iostream>#include <cstdio>#include <cstring>#include <set 阅读全文
posted @ 2011-11-26 17:53 AC_Von 阅读(178) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示