点击打开链接
无向图点双联通,二分图判定
#include
#include
#include
#include
#include
using namespace std;
struct Edge{
int u, v;
};
const int maxn = 1005;
int pre[maxn], iscut[maxn], bccno[maxn],dfs_c...
分类:
移动开发 时间:
2014-09-19 12:02:35
阅读次数:
206
点击打开链接
无向图的双连通分量
#include
#include
#include
#include
#include
#include
#pragma comment(linker, "/STACK:102400000,102400000")
using namespace std;
typedef long long LL;
const int maxn = 50010;...
分类:
其他好文 时间:
2014-09-19 12:00:15
阅读次数:
195
题意:
连通无向图 随机选起点 随机乱走 可以重复走点 问 每个点有多大几率不被路过
思路:
一看就是DP题…
但是开始的时候陷入了僵局 我是想先算路过每个点的概率然后用1减去这个概率 但是由于可以重复路过 所以无法判断是不是第一次经过这个点
所以我们应该直接做不路过的概率 即类似bfs的一步步走 如果走到了要计算的点就停下来 意思就是除了要计算概率的那个点不能...
分类:
其他好文 时间:
2014-09-18 19:03:04
阅读次数:
164
在解决实际问题的过程中我们经常需要将有向图(directed graph)转化成一个与之对应的无向图(undirected graph),但是相同结构的有向图和无向图能够表达的变量间的独立性是不同的,如何将一个有向图转化成一个无向图,这个无向图最大化的表达了原来的信息,又尽量少地丢失有向图里包含的条件独立性呢?
在父节点之间添加连接线的过程叫做moralization。
得到的无向图就叫moral graph...
分类:
其他好文 时间:
2014-09-17 12:14:52
阅读次数:
897
做最大流题目的时候会遇到一种需要用二分查找的题型: (poj2455) 一张无向图中有 N 个点,M 条边,每条边都有一个权值,且每条边只能用一次,要求找出 T 条从 1 到 N 的路径,使这 T 条路径所经过的边中,权值的最大值最小。 转化为最大流模型:T就是最大流,每条边只能用一次在...
分类:
其他好文 时间:
2014-09-17 02:20:31
阅读次数:
266
割点是无向图中去掉后能把图割开的点。dfs时用dfn(u)记录u的访问时间,用low(u)数组记录u和u的子孙能追溯到的最早的节点(dfn值最小)。由于无向图的dfs只有回边和树边,且以第一次dfs时的方向作为边的方向,故有: low=min{ dfn(u), dfn(v),若(u,v)为回边(非....
分类:
其他好文 时间:
2014-09-16 20:31:50
阅读次数:
175
题目链接:uva 1479 - Graph and Queries
题目大意:有一张m条边的无向图,每个节点都有一个权值,现在有若干个操作,
D x:删除ID为x的节点Q x k:计算与节点x联通的节点当中,第k大的权值C x v:把节点x的权值改为v
解题思路:把所有操作反过来处理,先执行所有的D操作,获得最终的图,然后逆操作的时候对于D来说即为合并操作,Q和C则是查询和修改操...
分类:
其他好文 时间:
2014-09-16 10:46:50
阅读次数:
282
无向图求欧拉回路:
1、图连通
2、所有顶点的度数位偶数
随便从一个点开始递归遍历即可求出路径
#include
#include
#include
using namespace std;
const int maxcolor = 50;
int n, G[maxcolor+1][maxcolor+1], deg[maxcolor+1];
str...
分类:
其他好文 时间:
2014-09-15 21:24:29
阅读次数:
229
点击打开链接
无向图求欧拉回路:
1、图连通
2、所有顶点的度数位偶数
#include
#include
#include
#include
#include
using namespace std;
const int mt = 2000;
const int ms = 50;
bool vis[mt+5];
int g[ms][mt+5];
...
分类:
其他好文 时间:
2014-09-15 21:23:49
阅读次数:
273
题目链接
题意:一张无向图,要你求出走d步之后,每个点无法到达的概率。
思路:记忆化搜索,枚举每个点a,dp[i][j]表示走了i步到达j点的概率(不包括a点),注意初始化清空。
代码:
#include
#include
#include
#include
#include
using namespace std;
const int MAXN = ...
分类:
其他好文 时间:
2014-09-15 15:57:59
阅读次数:
171