2011年7月14日

强联通分量:Kosarajus算法

摘要: 以前接触过,也花了不少时间弄懂,不过当时只是写了一道题,代码也不知道放哪了,几个月下来忘得差不多了。 今日回顾,有温故而知新的感觉。 算法的证明与理解如下,具体的网上/书上都有(摘自《数据结构与算法分析》) 由于V是X在Gr的深度优先搜索树中的一个后裔,因此存在Gr中一条从X到V的路径,从而存在G中中一条从V到X的路径。此外,由于X是根节点,因此X从第一次深度优先搜索得到更高的后续编号。于是,在第... 阅读全文

posted @ 2011-07-14 14:21 oa414 阅读(682) 评论(0) 推荐(0) 编辑

RMQ问题的ST、树状数组和线段树解法

摘要: 至今没有实现ST、树状数组的修改操作,不过线段树应该足够应付大部分题目了。 树状数组:#include <stdio.h>#define MAXN 1000000int n, m, l, r, i, j;int idx[MAXN];int num[MAXN];int min(int a, int b){ return a < b ? a : b;}int lowbit(int x){ return... 阅读全文

posted @ 2011-07-14 08:13 oa414 阅读(356) 评论(1) 推荐(0) 编辑

导航