并查集 --- A
摘要:1 # include <stdio.h> 2 const int max = 50005; 3 int rank[max]; 4 int parent[max]; 5 int maxnum; 6 int findset(int x) 7 { 8 if (x != parent[x]) 9 x = findset(parent[x]);10 return parent[x];11 }12 void init(int n)13 {14 int i;15 for (i=1; i<=n; ++i)16 {17 parent[i...
阅读全文
posted @
2012-03-19 16:02
万里心晴
阅读(139)
推荐(0)
Warshall算法
摘要:引文: http://www.cnblogs.com/brokencode/archive/2011/07/01/2095158.htmlProblem Description呃......变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒语的一个统一规律:如果咒语是以a开头b结尾的一个单词,那么它的作用就恰好是使A物体变成B物体. Harry已经将他所会的所有咒语都列成了一个表,他想让你帮忙计算一下他是否能完成老师的作业,将一个B(ball)变成一个M(Mouse),你知道,如果他自己不能完成的话,他就只
阅读全文
posted @
2012-03-14 20:15
万里心晴
阅读(234)
推荐(0)
KMP --- 1358 Period
摘要:Problem DescriptionFor each prefix of a given string S with N characters (each character has an ASCII code between 97 and 126, inclusive), we want to know whether the prefix is a periodic string. That is, for each i (2 <= i <= N) we want to know the largest K > 1 (if there is one) such that
阅读全文
posted @
2012-03-04 13:50
万里心晴
阅读(185)
推荐(0)
堆排序
摘要:1 /* 2 * Author: Tanky Woo 3 * Blog: www.WuTianQi.com 4 * Data: 2010.12.20 5 * Note: 堆排序(Heap Sort) 6 */ 7 #include <iostream> 8 using namespace std; 9 10 // 输出当前堆的排序状况11 void PrintArray(int data[], int size)12 {13 for (int i=1; i<=size; ++i)14 cout <<data[i]<<"";15 co
阅读全文
posted @
2012-02-25 15:55
万里心晴
阅读(145)
推荐(0)
二叉排序树
摘要:1 BinarySortTreeADT.h 2 /* 3 *二叉排序树(Binary Sort Tree)又称二叉查找(搜索)树(Binary Search Tree)。 4 *其定义为:二叉排序树或者是空树,或者是满足如下性质的二叉树: 5 *①若它的左子树非空,则左子树上所有结点的值均小于根结点的值; 6 *②若它的右子树非空,则右子树上所有结点的值均大于根结点的值; 7 *③左、右子树本身又各是一棵二叉排序树。 8 *上述性质简称二叉排序树性质(BST性质),故二叉排序树实际上是满足BST性质的二叉树。 9 */ 10 #ifndef _BINARYSORTTREEA...
阅读全文
posted @
2012-02-25 15:34
万里心晴
阅读(1835)
推荐(0)