日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HDU 4787 GRE Words Revenge

發布時間:2024/8/26 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDU 4787 GRE Words Revenge 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Description

  Now Coach Pang is preparing for the Graduate Record Examinations as George did in 2011. At each day, Coach Pang can:
   "+w": learn a word w
   "?p": read a paragraph p, and count the number of learnt words. Formally speaking, count the number of substrings of p which is a learnt words.
  Given the records of N days, help Coach Pang to find the count. For convenience, the characters occured in the words and paragraphs are only '0' and '1'.
 
 

Solution

這題網上大部分題解都是錯的,只能說數據太水
首先這題用到AC自動機,如果暴力做每一組詢問需要getfail一次,但是這樣做也能AC.
考慮合并,我們建立兩個AC自動機,保證其中一個大小\(<\sqrt{n}\) 每一次對小的進行getfail,復雜度只有\(O(\sqrt{n})\),如果小的 \(size\) 達到了 \(\sqrt{n}\),考慮暴力合并,復雜度 \(O(\sqrt{n})\)
注意一個細節,一個單詞只能學習一次,所以每加一次需要判斷之前是否存在,網上大部分都沒有做這個

#include <algorithm> #include <iostream> #include <cstdlib> #include <cstring> #include <cstdio> #include <queue> #include <cmath> #define RG register #define il inline #define iter iterator #define Max(a,b) ((a)>(b)?(a):(b)) #define Min(a,b) ((a)<(b)?(a):(b)) using namespace std; const int N=100005,M=600005; int m,kase=0,ans=0,B=100,root=0;char s[M*10]; queue<int>q; struct Ac{int size,ch[M][2],fail[M],val[M];int newnode(){size++;ch[size][0]=ch[size][1]=0;fail[size]=0;val[size]=0;return size;}void clear(){size=-1;newnode();}void ins(char *S){int x,len=strlen(s),p=root;for(int i=1;i<len;i++){x=S[i]-'0';if(ch[p][x])p=ch[p][x];else ch[p][x]=newnode(),p=ch[p][x];}val[p]|=1;}void getfail(){while(!q.empty())q.pop();q.push(root);int x,u,v;while(!q.empty()){x=q.front();q.pop();for(int i=0;i<=1;i++){if(!ch[x][i])continue;u=fail[x];while(u && !ch[u][i])u=fail[u];if(ch[u][i] && ch[u][i]!=ch[x][i])fail[ch[x][i]]=ch[u][i];v=ch[x][i];q.push(v);}}}int query(char *S){int x,len=strlen(S),p=root,ret=0,u;for(int i=1;i<len;i++){x=S[i]-'0';while(p && !ch[p][x])p=fail[p];p=ch[p][x];u=p;while(u)ret+=val[u],u=fail[u];}return ret;}bool check(char *S){int len=strlen(S),x,p=root;for(int i=1;i<len;i++){x=S[i]-'0';if(!ch[p][x])return false;p=ch[p][x];}return val[p];} }A,C; void dfs(int art,int crt){int x;for(int i=0;i<=1;i++)if(C.ch[crt][i]){if(!A.ch[art][i])A.ch[art][i]=A.newnode();x=A.ch[art][i];A.val[x]|=C.val[C.ch[crt][i]];dfs(x,C.ch[crt][i]);} } char b[N]; void Moveit(){int k=ans,len=strlen(s),p=1;k%=(len-1);for(int i=1;i<=k;i++)b[i]=s[i];for(int i=1;k<len-1;i++)s[i]=s[++k];for(int i=len-(ans%(len-1));i<len;i++)s[i]=b[p++]; } void work() {printf("Case #%d:\n",++kase);scanf("%d",&m);A.clear();C.clear();ans=0;while(m--){scanf("%s",s);Moveit();if(s[0]=='+'){if(A.check(s) || C.check(s))continue;C.ins(s);if(C.size>B){dfs(0,0);A.getfail();C.clear();}else C.getfail();}else ans=A.query(s)+C.query(s),printf("%d\n",ans);} }int main() {int T;cin>>T;while(T--)work();return 0; }

轉載于:https://www.cnblogs.com/Yuzao/p/7661370.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的HDU 4787 GRE Words Revenge的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色婷婷av一区二区三区麻豆综合 | 一级视频黄色 | 体内射精一区二区 | 久久久久香蕉视频 | 少妇做爰免费理伦电影 | 午夜老司机免费视频 | 亚洲综合小说网 | 都市激情亚洲一区 | 一级黄色免费网站 | 蜜乳av懂色av粉嫩av | 2019天天操 | 泽村玲子在线 | 日韩欧美国产精品 | 国模人体一区二区 | 中文字幕无码日韩专区免费 | 福利视频免费 | 免费av不卡 | 中文字av| 偷拍亚洲 | 国产精品久久久久久亚洲影视 | 欧美另类高清videos的特点 | 深爱开心激情网 | 日韩高清欧美 | 91成人在线观看国产 | 精品亚洲一区二区三区四区五区高 | 精品久久久久久亚洲综合网站 | 日韩伦理在线视频 | 九九久久国产视频 | 欧美 日韩 中文字幕 | 国产成人区 | av在线日韩 | 91九色蝌蚪91por成人 | 久久精品国产99国产 | 欧美日韩激情网 | 91视频精品 | tube极品少妇videos | 六月婷婷激情 | 亚洲一区二区三区视频在线 | www.在线 | 青娱乐欧美 | 日韩成人一区二区 | 国产美女被遭强高潮免费网站 | 岛国片免费在线观看 | 黄色一级录像片 | 伊人激情影院 | 9999视频| 欧美人妻一区二区 | 日韩欧美在线视频免费观看 | 欧美日韩综合视频 | 99热一区二区三区 | 日韩av专区片| 黄色1级视频 | 欧美在线性 | 国产一级特黄 | 网友自拍第一页 | 青青网站| 国产精品久久久久久网站 | 少妇高潮网站 | av播播| 一区二区三区欧美视频 | 91看片网站 | 综合成人| 夜色一区二区三区 | 成人黄色国产 | 超污巨黄的小短文 | 国产孕妇孕交大片孕 | 欧美熟妇另类久久久久久多毛 | 欧美一区二区三区在线播放 | 成人在线电影网站 | 久久久久999 | 成人动态视频 | 亚洲六月丁香色婷婷综合久久 | 就去吻综合 | 亚欧毛片| 欧美高清性 | 国产偷人视频 | 丁香花五月天 | 狠狠v欧美v日韩v亚洲ⅴ | 91资源站| 国产人妻人伦精品1国产丝袜 | 九九午夜视频 | 久久新网址 | 性生活在线视频 | 日美一级片 | 女人18毛片水真多18精品 | 爱情岛亚洲品质自拍极速福利网站 | 国产精品青青草 | 国产主播一区二区 | 国产亚洲电影 | 中文字幕在线字幕中文 | 亚洲国产精品va在线看黑人 | 香蕉视频在线视频 | 美女的奶胸大爽爽大片 | 一级黄色大片视频 | 小柔的淫辱日记(h | 一区二区三区免费毛片 | 欧美日韩综合视频 | caobi视频 | 亚洲欧洲日韩国产 |