IT民工
加油!
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 29 下一页
摘要: 要使游客不受道路施工的影响,能够到达各个景点,那么就要使图是至少一个双连通分量,因为施工时只对一道路施工。这样模型就建立了:给定一个连通的无向图G,至少要添加几条边,才能使其变为双连通图。同样用tarjan缩点,然后求出缩点树的叶子结点个数,再按照公式计算。/*Accepted 220K 0MS C++ 1783B 2012-07-30 09:53:31*/#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>using namespace std;const i 阅读全文
posted @ 2012-07-30 10:03 找回失去的 阅读(156) 评论(0) 推荐(0)
摘要: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1081不是太会写拓扑排序,所以再写一遍。/*Accepted 880 kb 268 ms C++/ 1671 B 2012-07-29 17:08:30*/#include<cstdio>#include<cstring>#include<cstdlib>const int MAXN = 1 << 10;const int MAXM = 10010;int N, K, M, first[MAXN], e, next[MAXM], v[MAXM];i 阅读全文
posted @ 2012-07-29 17:12 找回失去的 阅读(275) 评论(0) 推荐(0)
摘要: 大致读完题后,可以理解为给定一个连通的无向图G,至少要添加几条边,才能使其变为双连通图。参考staginner大牛的写法,将边双连通分量缩点,题再次被转化为“至少在缩点树上增加多少条树边,使得这棵树变为一个双连通图”。首先知道一条等式:若要使得任意一棵树,在增加若干条边后,变成一个双连通图,那么至少增加的边数=(这棵树总度数为1的结点数+1)/2计算叶子结点要注意:两两枚举图G的直接连通的点,只要这两个点不在同一个【缩点】中,那么它们各自所在的【缩点】的度数都+1。注意由于图G时无向图,这样做会使得所有【缩点】的度数都是真实度数的2倍,必须除以2后再判断叶子。也可以将度为2的点当作叶子,这样就 阅读全文
posted @ 2012-07-29 16:42 找回失去的 阅读(211) 评论(0) 推荐(0)
摘要: 参考了题解将这题的代码写了一遍,整体来说收获还是比较大的。用邻接矩阵g存骑士的关系,相互憎恨就连一条边。然后建立图g的补图,这里用邻接表会更好,表示这些骑士是可以相邻的。然后用tarjan算法求补图的双连通分量,注意题目要求骑士g要在奇圈中。传送门:http://blog.csdn.net/lyy289065406/article/details/6756821有详细分析过程,膜拜下。/*Accepted 8468K 1266MS C++ 2516B 2012-07-29 15:29:42*/#include<cstdio>#include<cstring>#in... 阅读全文
posted @ 2012-07-29 15:49 找回失去的 阅读(239) 评论(0) 推荐(0)
摘要: 原文转自Jelline bloghttp://blog.chinaunix.net/uid-9112803-id-411340.html摘要:本文用另一种思路重新组织《图论及其应用》相关知识。首先,用通俗化语言阐述了如何对事物间联系的问题进行图论建模;接着从现实例子出发,给出各种典型图论模型,每种图论模型对应于图论一个重要内容;再者,介绍相关知识对上述提到的图论模型涉及的问题进行解答;最后,补充一些图论其他知识,包括图论分支、易混概念。符号约定:Q(Question)表示对问题描述,M(Modeling)表示数学建模过程,A(Answer)表示原问题转化为何种图论问题。一、引言图论是研究点、线 阅读全文
posted @ 2012-07-29 14:32 找回失去的 阅读(4332) 评论(0) 推荐(0)
摘要: http://lightoj.com/volume_showproblem.php?problem=1002求最长路径的最小值,用优先队列的dijkstra。#include<cstdio>#include<cstring>#include<cstdlib>#include<queue>#include<algorithm>using namespace std;const int MAXN = 1 << 9;int dist[MAXN], g[MAXN][MAXN];int n, m, t;const int inf = 阅读全文
posted @ 2012-07-28 17:09 找回失去的 阅读(575) 评论(0) 推荐(0)
摘要: http://lightoj.com/volume_showproblem.php?problem=1019裸的dij,注意两点之间有多条边,因为这个WA了一次。#include<cstdio>#include<cstring>#include<cstdlib>#include<queue>#include<algorithm>using namespace std;const int MAXN = 1 << 7;int d[MAXN], g[MAXN][MAXN];const int inf = 0x3f3f3f3f;i 阅读全文
posted @ 2012-07-28 17:05 找回失去的 阅读(231) 评论(0) 推荐(0)
摘要: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1128这道题是裸的强连通分量,之前没有写类似的题,所以敲的很辛苦。/*Accepted 920 KB 32 ms C++ 2240 B 2012-07-28 16:54:39*/#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>using namespace std;const int MAXN = 1 << 7;struct edge{ int v 阅读全文
posted @ 2012-07-28 16:58 找回失去的 阅读(228) 评论(0) 推荐(0)
摘要: 第一次做这种类型的并查集。re数组代表所在的类,因为只能从当前情况来判断两个人是不是在一个犯罪集团。所以D操作时保证两个人的re不同。两个有相同的根结点,代表情况已知,否则为情况未知。/*Accepted 948K 360MS C++ 1190B 2012-07-27 17:16:34*/#include<cstdio>#include<cstring>#include<cstdlib>const int MAXN = 100111;int p[MAXN], re[MAXN];int n, m;char ans[3][20] = {"In diff 阅读全文
posted @ 2012-07-27 17:26 找回失去的 阅读(185) 评论(0) 推荐(0)
摘要: 先将字母转换成数字,然后建图。建完图用堆优化的prim,写这道题花了不少时间,居然写成了dij,搞混了。/*Accepted 180K 0MS C++ 1594B 2012-07-27 15:57:47*/#include<cstdio>#include<cstring>#include<cstdlib>#include<queue>#include<iostream>using namespace std;const int MAXN = 1 << 5;const int inf = 0x3f3f3f3f;bool vi 阅读全文
posted @ 2012-07-27 16:02 找回失去的 阅读(115) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 29 下一页