题目链接:
POJ1523
题意:
问一个连通的网络中有多少个关节点,这些关节点分别能把网络分成几部分
题解:
Tarjan 算法模板题
顺序遍历整个图,可以得到一棵生成树:
树边:可理解为在DFS过程中访问未访问节点时所经过的边,也称为父子边
回边:可理解为在DFS过程中遇到已访问节点时所经过的边,也...
分类:
编程语言 时间:
2015-06-30 13:04:22
阅读次数:
286
Partition为分割算法,用于将一个序列a[n]分为三部分:a[n]中大于某一元素x的部分,等于x的部分和小于x的部分。Partition程序如下:long Partition (long a[], long p1, long p2){//对a[p1]~a[p2]进行分割,返回分割点的序号, p...
分类:
其他好文 时间:
2015-06-18 18:57:46
阅读次数:
94
Destroying the bus stations
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2319 Accepted Submission(s): 743
Problem Description
Gab...
分类:
其他好文 时间:
2015-06-17 16:42:30
阅读次数:
152
Tarjan求BCC/割点 然而似乎我一开始抄的白书的板子哪里抄错了?还是本身哪里不对……(可能是不适用于这道题?因为这题要求求出每个BCC的大小。。? 膜拜了ydc的写法= = 其实两次dfs也并没有比lrj的麻烦到哪里去……感觉反而更清晰易懂,不容易出bug 大家都是NOIP之前就会求割...
分类:
其他好文 时间:
2015-06-12 20:51:22
阅读次数:
213
//点双连通分量的求解//就是通过tarjan算法求出关节点时,与关节点的子树就是一个连通分量,可以通过画图得到//所以可以将与顶点u有关的边放到栈中,然后一但满足low[v]>=dfn[u](表面点u是割点)(注释:由于dfs,已经建好了u//的子树,所以栈中有顶点u的子树),就可以进行退栈,直到...
分类:
其他好文 时间:
2015-06-04 15:27:39
阅读次数:
115
任意两个切割点之间无法再分割
所以如果设dp[i][j] 表示从i位置切到j位置其实没有多大意义,亲测这样会TLE
dp[i][j]表示切割第i个切割点开始的位置到第j个切割点的位置结束的木棍的最小花费
时间复杂度O(n3)O(n^3)/*************************************************************************
>...
分类:
其他好文 时间:
2015-05-22 09:50:43
阅读次数:
149
TWO NODES
Time Limit: 24000/12000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 1367 Accepted Submission(s): 410
Problem Description
Suppose that G ...
分类:
移动开发 时间:
2015-05-20 22:31:29
阅读次数:
210
#67. 新年的毒瘤Time Limit: 20 SecMemory Limit: 256 MB题目连接http://uoj.ac/problem/67Description辞旧迎新之际,喜羊羊正在打理羊村的绿化带,然后他发现了一棵长着毒瘤的树。这个长着毒瘤的树可以用 n 个结点 m 条无向边的无向...
分类:
其他好文 时间:
2015-05-19 22:19:57
阅读次数:
129
using namespace std;
const int MAXE = 300010;
const int MAXP = 1010;
struct N
{
int v,next;
}edge[MAXE*2];
int head[MAXP];
int Top;
int high[MAXP];
int low[MAXP];
int subnet[MAXP];
int dfsClock;...
分类:
其他好文 时间:
2015-05-15 15:33:42
阅读次数:
136
git是一种分布式代码管理工具,git通过树的形式记录文件的更改历史,比如:
base’<–base<–A<–A’
^
| — B<–B’
小米工程师常常需要寻找两个分支最近的分割点,即base.假设git 树是多叉树,请实现一个算法,计算git树上任意两点的最近分割点。
(假设git树节点数为n,用邻接矩阵的形式表示gi...
分类:
移动开发 时间:
2015-05-07 08:49:55
阅读次数:
248