摘要: 只要最后统计出有多少个集合就好了我用并查集还有set做的,好像用set慢了一点#include<stdio.h>#include<set>using namespace std;int f[1010];int find(int x){ if(x==f[x]) return f[x]; f[x]=find(f[x]); return f[x];}void Union(int x,int y){ int a=find(x); int b=find(y); if(a==b) return ; f[a]=b; return ;}int main(){ int n,m,i; in 阅读全文
posted @ 2011-05-20 22:25 枕边梦 阅读(169) 评论(1) 推荐(0) 编辑
摘要: hdu2222 key word search模板题来的,求所有单词在文本的出现的个数简单说说我对AC自动机的理解吧学习AC自动机的之前,首先要了解的就是kmpkmp处理的是单个模式串与文本的匹配,其中kmp的关键就在于求next数组,而且next数组记录的就是,如果当前位置匹配失败的,模式串应该应该移动到哪一个位置重新与文本匹配,这样就避免了每次都从头开始匹配,而且文本串的指针是不需要回溯的对于AC自动机也是类似,充分利用已匹配的信息,避免了从头开始匹配。AC自动机处理的是多个模式串与一个文本,最糟糕的情况就是我们用每一个模式串跟文本进行匹配。但是,当前一个模式串匹配失败时,是否有什么信息可 阅读全文
posted @ 2011-05-20 10:44 枕边梦 阅读(327) 评论(0) 推荐(0) 编辑