#include#include#include#include#includeusing namespace std;const int maxn=1111;//有多少个结点vectorG[maxn];int visited[maxn];//标记该节点有没有访问过int node,edge;//顶...
分类:
编程语言 时间:
2015-08-03 18:29:19
阅读次数:
142
题意:
给出一个无向连通图,点数小于等于500;
一个人从点1开始随机游走,到点n时停止;
每次经过一条边就可以得到这条边编号的分数(这个分数可以多次得到);
求一种编号方案,使其期望得分最小;
题解:
题中的边走几次就得几次分,所以显然答案为期望经过次数*编号;
并且由贪(xian)心(ran)的想法可知,一定要给经过次数多的赋小的编号;
那么问题就是求每条边的期望经过次...
分类:
其他好文 时间:
2015-08-02 15:17:48
阅读次数:
126
题意:有一个无向连通图,现在问添加一条边后最少还有几个桥分析:先把图缩点,然后重构图为一棵树,求出来树的直径即可,不过注意会有重边,构树的时候注意一下***********************************************************************#pra...
分类:
其他好文 时间:
2015-07-31 23:11:07
阅读次数:
246
题意:给一个无向连通图,求出割点的数量。首先输入一个N(多实例,0结束),下面有不超过N行的数,每行的第一个数字代表后面的都和它存在边,0表示行输入的结束(很蛋疼的输入方式).分析:割点的模板题*****************************************************...
分类:
Web程序 时间:
2015-07-31 10:21:34
阅读次数:
113
设$a[i]=2^{C_i^2}$$b[i]=i!$$c[i]=(i-1)!$f[i]为i个点的简单无向连通图数目,则有\[\begin{eqnarray*}f[i]&=&a[i]-\sum_{j=1}^{i-1}C_{i-1}^{j-1}f[j]a[i-j]\\&=&a[i]-c[i]\sum_{...
分类:
其他好文 时间:
2015-07-26 22:35:59
阅读次数:
129
1.题意:给一个无向简单图,问至少几笔画画完所有的边。
2.思路:①先用并查集求出有几个连通分量;②如果连通分量中只有一个结点,那么就是0笔画;③在一个简单无向连通图中,如果没有欧拉回路,至少要用n/2笔画画完所有边,n是奇点个数。
3AC代码一(93ms):
#include
#include
#include
#include
using namespace std;
int n,m;...
分类:
其他好文 时间:
2015-07-24 20:45:17
阅读次数:
127
题目链接: Hdu 4612 Warm up题目描述: 给一个无向连通图,问加上一条边后,桥的数目最少会有几个?解题思路: 题目描述很清楚,题目也很裸,就是一眼看穿怎么做的,先求出来双连通分量,然后缩点重新建图,用bfs求树的直径,直径的长度就是减去桥的数目。这个题目需要手动扩展,而且手动扩展...
分类:
其他好文 时间:
2015-07-24 20:41:21
阅读次数:
92
题目链接: Poj 3694 Network题目描述: 给出一个无向连通图,加入一系列边指定的后,问还剩下多少个桥?解题思路: 先求出图的双连通分支,然后缩点重新建图,加入一个指定的边后,求出这条边两个端点根节点的LCA,统计其中的桥,然后把这个环中的节点加到一个集合中,根节点标记为LCA。题...
分类:
Web程序 时间:
2015-07-24 20:18:55
阅读次数:
113
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3018思路分析:题目可以看做一笔画问题,求最少画多少笔可以把所有的边画一次并且只画一次;首先可以求出该无向图中连通图的个数,在每个无向连通图中求出需要画的笔数再相加即为所求。在一个无向连通图中,如果所有的...
分类:
其他好文 时间:
2015-07-23 23:24:05
阅读次数:
199
在不少题目中会遇到这样一类题:无向连通图 G 有 n 个点,n-1 条边。点从 1 到 n 依次编号.......很明显是个树结构,但是不知道具体的父子关系,这时需要将一棵无根树转化成有根树,具体讲解如下: 1.树的存储:若点数较大,需要用vector存储vector G[maxn];void...
分类:
其他好文 时间:
2015-07-20 23:08:04
阅读次数:
144