亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

HDU-2222 Keywords Search

2019-11-14 09:37:57
字體:
來源:轉載
供稿:網友

題目鏈接:http://acm.hdu.edu.cn/showPRoblem.php?pid=2222 思路: 題目大意是,提供n個單詞以及一段話,問在這段話中所給單詞在文章中出現的個數。使用AC自動機算法來解題。

AC代碼:

#include<cstdio>#include<cstring>#include<queue>using namespace std;const int maxn=1000000;char str[maxn+10];struct node{ int count;//標識是否為葉子結點 struct node *next[26]; struct node *fail;//失敗指針 void init()//初始化函數 { for(int i=0;i<26;i++) next[i]=NULL; count=0; fail=NULL; } }*root;//構造樹TRIEvoid insert(){ node *p=root; int len=strlen(str); for(int i=0;i<len;i++) { int pos=str[i]-'a'; if(p->next[pos]==NULL) { p->next[pos]=new node; p->next[pos]->init(); p=p->next[pos]; } else p=p->next[pos]; } p->count++;//標識為單詞尾部 } //構造失敗指針 void getfail() { node *p=root,*son,*temp; queue<struct node *>que; que.push(p);//root入隊 while(!que.empty()) { temp=que.front(); que.pop(); for(int i=0;i<26;i++) { son=temp->next[i]; if(son!=NULL) { if(temp==root) son->fail=root; else { p=temp->fail; while(p) { if(p->next[i])//如果trie中有相同字母指向該字母的失敗指針 { son->fail=p->next[i]; break; } p=p->fail; } if(!p) son->fail=root; } que.push(son); } } } } //查找有多少個字符串在所給段落中出現 void query() { int ans=0; int len=strlen(str); node *p=root,*temp; for(int i=0;i<len;i++) { int pos=str[i]-'a'; while(!p->next[pos]&&p!=root) p=p->fail; p=p->next[pos]; if(!p) p=root; temp=p; while(temp!=root) { if(temp->count>=0)//找到改串單詞尾部 { ans+=temp->count; temp->count=-1;//標識該單詞找過,避免重復計算 } else break; temp=temp->fail; } } printf("%d/n",ans);//輸出個數 } int main() { int m,n; scanf("%d",&m); while(m--) { root=new node; root->init(); root->fail=NULL; scanf("%d",&n); getchar(); for(int i=0;i<n;i++) { scanf("%s",&str); insert();//構造TRIE } getfail();//建立失敗指針 scanf("%s",&str); query(); } return 0; }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品有码在线| 欧美风情在线观看| 亚洲午夜av电影| 日韩欧美精品在线观看| 97视频免费看| 国产成人精品网站| 国产在线高清精品| 热re99久久精品国产66热| 日本久久久久久| 成人淫片在线看| 不卡在线观看电视剧完整版| 日韩精品中文字| 91中文字幕在线观看| 欧美色欧美亚洲高清在线视频| 日韩的一区二区| 亚洲91av视频| 久久久欧美一区二区| 亚洲国产日韩欧美在线动漫| 日韩专区中文字幕| 久久人人爽人人爽人人片亚洲| 亚洲激情免费观看| 亚洲国产精品久久| 亚洲社区在线观看| 亚洲欧洲美洲在线综合| 亚洲国产另类 国产精品国产免费| 黄网动漫久久久| 欧美大片va欧美在线播放| 激情亚洲一区二区三区四区| 欧美黄网免费在线观看| 亚洲欧美日韩区| 色噜噜亚洲精品中文字幕| 98视频在线噜噜噜国产| www.国产一区| 国产精品美乳一区二区免费| 日韩精品中文在线观看| 欧美福利在线观看| 色综合久久久888| 91精品视频在线播放| 色与欲影视天天看综合网| 久久久久久久影院| 亚洲免费高清视频| 欧美日韩一区二区在线播放| 中文字幕一区二区精品| 中文字幕在线观看日韩| 亚洲欧美变态国产另类| 久久人人爽人人爽爽久久| 欧美特级www| 日韩精品在线免费播放| 国内精品小视频在线观看| www.日韩不卡电影av| 国产国产精品人在线视| 成人国产精品色哟哟| 亚洲成人999| 欧美日韩另类字幕中文| 欧美精品久久久久久久久| 亚洲区中文字幕| 九九视频直播综合网| 亚洲香蕉在线观看| 国产成人在线亚洲欧美| 中文字幕日韩欧美| 91国内揄拍国内精品对白| 亚洲第一级黄色片| 九九热这里只有在线精品视| 欧美日韩中文字幕在线| 欧美午夜美女看片| 中文字幕精品在线| 欧美成人黄色小视频| 色www亚洲国产张柏芝| 精品久久久久久亚洲精品| 欧美亚洲另类激情另类| 精品高清美女精品国产区| 日韩精品视频在线免费观看| 亚洲人成电影网站| 国产精品视频最多的网站| 亚洲精品欧美极品| 日韩美女福利视频| 精品中文视频在线| 日韩在线精品一区| 久久中文字幕在线| 亚洲wwwav| 久久久噜噜噜久久中文字免| 国模叶桐国产精品一区| 欧美大片在线看免费观看| 91久久精品国产91久久性色| 欧美成人精品在线观看| 国产玖玖精品视频| 亚洲视频日韩精品| 色偷偷91综合久久噜噜| 97久久超碰福利国产精品…| 欧美丰满少妇xxxx| 91沈先生作品| 欧洲日本亚洲国产区| www.xxxx欧美| 亚洲少妇中文在线| 亚洲乱码一区二区| 久久久久久久久久av| 亚洲免费电影在线观看| 中文字幕精品网| 中文字幕精品—区二区| 国模gogo一区二区大胆私拍| 日本成人黄色片| 国产精品自产拍在线观看中文| 国产日韩欧美综合| 日韩成人激情影院| 欧美精品精品精品精品免费| 98精品国产自产在线观看| 欧美成人中文字幕| 亚洲色图综合久久| 日韩有码在线电影| 精品国产成人av| 日韩精品久久久久久久玫瑰园| 成人午夜一级二级三级| 亚洲精品国偷自产在线99热| 91高清视频在线免费观看| 91九色蝌蚪国产| 亚洲人成网在线播放| 欧美成年人在线观看| 日本久久亚洲电影| 2020欧美日韩在线视频| 国产欧美日韩中文| 高潮白浆女日韩av免费看| 日本精品在线视频| 国产精品入口免费视| 久久久亚洲精品视频| 精品国偷自产在线| 亚洲视频在线播放| 亚洲视频一区二区三区| 亚洲性生活视频在线观看| 国产精品久久久一区| 成年无码av片在线| 久久国产精彩视频| 久久久国产精品一区| 久久精品人人做人人爽| 色婷婷av一区二区三区久久| 欧美日韩亚洲高清| 宅男66日本亚洲欧美视频| 欧美色视频日本高清在线观看| 中文字幕日本精品| 国产精品成人av性教育| 欧美性69xxxx肥| 亚洲人免费视频| 91久久久久久久久久久久久| 久热99视频在线观看| 久久精品青青大伊人av| 91免费人成网站在线观看18| 欧美日韩国产一区二区三区| 色天天综合狠狠色| 91精品久久久久久久久久久久久久| 欧美最猛黑人xxxx黑人猛叫黄| 国产精品免费小视频| 国产成人短视频| 亚洲国产精品99| 亚洲3p在线观看| 欧美日韩成人网| 精品香蕉在线观看视频一| 国产精品美女主播在线观看纯欲| 日韩亚洲成人av在线| 国语自产偷拍精品视频偷| 欧美巨猛xxxx猛交黑人97人| 精品国产91久久久久久| 亚洲aⅴ日韩av电影在线观看| 欧美在线观看网站| 成人福利网站在线观看| 亚洲欧美日韩国产中文专区|