随笔分类 -  模板新整理

摘要:1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 8 #define N 1000 9 10 using namespace std;11 12 int pre[N],lowlink[N],sccno[N],dfn_clock,scc_cnt;13 14 stack stk;15 16 vector G[N];17 18 void DFN(int u)19 {20 pre[u] = lowlink[u] = ++dfn_clock; //时间戳21 stk.push(u);22 ... 阅读全文
posted @ 2013-08-10 11:50 crazy_apple 阅读(194) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/jokes000/article/details/7839686后缀数组sa:将s的n个后缀从小到大排序后将 排序后的后缀的开头位置顺次放入sa中,则sa[i]储存的是排第i大的后缀的开头位置。简单的记忆就是“排第几的是谁”。名次数组rank:rank[i]保存的是suffix(i){后缀}在所有后缀中从小到大排列的名次。则 若 sa[i]=j,则 rank[j]=i。简单的记忆就是“你排第几”。对于 后缀数组sa 与 名次数组rank ,有rank[ sa[i] ]=i (这是很重要的一点,通过sa与rank的关系可以求出后缀数组)由此可看出,后缀数 阅读全文
posted @ 2013-07-18 21:11 crazy_apple 阅读(998) 评论(0) 推荐(0)
摘要:1 #include<iostream> 2 #include<stdio.h> 3 #include<string.h> 4 #include<stdlib.h> 5 using namespace std; 6 7 struct Nod 8 { 9 int num;10 Nod *left;11 Nod *right;12 Nod()13 {14 num=0;15 left=right=NULL;16 }17 };18 19 template <class TYPE>20 Nod* buildBinaryS... 阅读全文
posted @ 2013-05-14 11:37 crazy_apple 阅读(277) 评论(0) 推荐(0)