追海逐风

导航

随笔分类 -  算法

[转]关于Tarjan算法的一段描述
摘要:转自headacher,具体网址没有找到Tarjan算法基于深度优先搜索的框架,对于新搜索到的一个结点,首先创建由这个结点构成的集合,再对当前结点的每一个子树进行搜索,每搜索完一棵子树,则可确定子树内的LCA询问都已解决。其他的LCA询问的结果必然在这个子树之外,这时把子树所形成的集合与当前结点的集合合并,并将当前结点设为这个集合的祖先。之后继续搜索下一棵子树,直到当前结点的所有子树搜索完。这时把当前结点也设为已被检查过的,同时可以处理有关当前结点的LCA询问,如果有一个从当前结点到结点v的询问,且v已被检查过,则由于进行的是深度优先搜索,当前结点与v的最近公共祖先一定还没有被检查,而这个最近 阅读全文

posted @ 2012-04-27 12:53 追海逐风 阅读(196) 评论(0) 推荐(0)

pku 1142 Smith Number
摘要:/*Author: JackWangDate: 01-10-10 20:20Description: 求Smith数,Smith数的所有因数的数字之和等于自己的数字之和例子:本题中,质数不算Smith数解题思路:因为要因式分解,所以要算质数,而且要存储从2开始的一些质数,方便分解计算。算质数用筛法计算。 质数要算多少是一个问题,题目保证最大的数是100,000,000以内,在32位int之内。但是用筛法算100,000,000内的所有质数是耗时很长的,因此只能算一部分。其余部分直接用简单判别法判断。 简单判别法:判断它是否能整除小于等于它平方根的数,如果能整除,就不是质数,如果都不能整除则它是 阅读全文

posted @ 2010-10-01 20:47 追海逐风 阅读(293) 评论(0) 推荐(0)

细节决定成败
摘要:such an easy problem that I didn't AC. WA 4 times.Problem:Judge if the (m, d) is a valid date, the year is 2010.1. 2010 is not a leap year, so February has only 28 days.2. Negative numbers must be considered.#include <iostream>using namespace std;const int DAYS[] = {0, 31, 28, 31, 30, 31, 阅读全文

posted @ 2010-09-25 13:21 追海逐风 阅读(219) 评论(0) 推荐(0)