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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

bzoj 2555

發布時間:2024/4/17 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 bzoj 2555 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

暴力。

收獲:

  1、第一道后綴自動機,大概知道怎么寫了,有一些原理性的東西還要理解。

  2、計算right集合的大小

?

1 /************************************************************** 2 Problem: 2555 3 User: idy002 4 Language: C++ 5 Result: Accepted 6 Time:4708 ms 7 Memory:143072 kb 8 ****************************************************************/ 9 10 #include <cstdio> 11 #include <cstring> 12 #include <iostream> 13 #define fprintf(...) 14 #define N 1200010 15 using namespace std; 16 17 int n, m; 18 char buf[N]; 19 int aa[N], mask; 20 int son[N][26], par[N], val[N], siz[N], last, root, ntot; 21 22 int newnode( int v ) { 23 int nd=++ntot; 24 val[nd] = v; 25 return nd; 26 } 27 void init() { 28 root = last = newnode(0); 29 siz[root] = 1; 30 } 31 void append( int c ) { 32 int p=last; 33 int np=newnode( val[p]+1 ); 34 for( ; p && !son[p][c]; p=par[p] ) son[p][c] = np; 35 if( p==0 ) { 36 par[np] = root; 37 } else { 38 int q = son[p][c]; 39 if( val[q]==val[p]+1 ) { 40 par[np] = q; 41 } else { 42 int nq = newnode( val[p]+1 ); 43 memcpy( son[nq], son[q], sizeof(son[nq]) ); 44 par[nq] = par[q]; 45 siz[nq] = siz[q]; 46 par[np] = par[q] = nq; 47 for( ; p && son[p][c]==q; p=par[p] ) son[p][c]=nq; 48 } 49 } 50 last = np; 51 for( ; np; np=par[np] ) ++siz[np]; 52 } 53 void append( const char *T ) { 54 fprintf( stderr, "append( %s )\n", T ); 55 for( ; *T; T++ ) 56 append( *T-'A' ); 57 } 58 void decode( int mask ) { 59 fprintf( stderr, "%d\n", mask ); 60 int n = strlen(buf); 61 for( int j=0; j<n; j++ ) { 62 mask = (mask*131+j)%n; 63 swap( buf[j], buf[mask] ); 64 } 65 } 66 int query( const char *T ) { 67 fprintf( stderr, "query( %s )\n", T ); 68 int n=strlen(T); 69 int u=root; 70 for( int i=0; i<n; i++ ) { 71 int c=T[i]-'A'; 72 if( !son[u][c] ) return 0; 73 u=son[u][c]; 74 } 75 return siz[u]; 76 } 77 int main() { 78 scanf( "%d", &m ); 79 scanf( "%s", buf ); 80 init(); 81 append( buf ); 82 for( int i=1; i<=m; i++ ) { 83 char ch[10]; 84 scanf( "%s%s", ch, buf ); 85 decode(mask); 86 if( ch[0]=='A' ) { 87 append(buf); 88 } else { 89 int ans = query(buf); 90 printf( "%d\n", ans ); 91 mask ^= ans; 92 } 93 } 94 } View Code

?

轉載于:https://www.cnblogs.com/idy002/p/4448567.html

總結

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

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

主站蜘蛛池模板: 日欧美女人 | 五月婷在线观看 | 91播放在线 | 亚洲精品影片 | 国产精品久久久久高潮 | 天天cao| 蜜桃色一区二区三区 | 中文字字幕码一二三区 | 一区二区三区四区免费 | 午夜香蕉视频 | 国产精品视频专区 | 国产精品自偷自拍 | 污网站免费在线 | 亚洲天堂影院 | 日韩成人性视频 | 最近中文字幕在线中文高清版 | 一二三四视频社区在线 | 4虎最新网址 | 91成人免费在线视频 | 91精品国产乱码久久久久 | 贵族女沦为官妓h呻吟 | 久久久久久中文字幕 | 国产浪潮av | 中文字幕自拍 | 一道本在线观看视频 | 少妇激情一区二区三区 | 性色在线 | 老子影院午夜精品无码 | 日韩精品在线视频观看 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 97人妻精品一区二区三区软件 | 中文字幕一区二区三区5566 | 亚洲欧美乱综合图片区小说区 | 国产精品天天av精麻传媒 | 欧美性一级| 法国极品成人h版 | 黄色片在线免费看 | 狠狠精品干练久久久无码中文字幕 | 国产乱子伦农村叉叉叉 | 午夜精品久久久久久久99热浪潮 | 91欧美成人 | 一级特黄特色的免费大片视频 | 可以免费看av | 日本系列第一页 | a在线看 | 欧类av怡春院 | 久久国产成人精品 | 色噜噜一区二区 | 国内自拍视频在线播放 | 在线免费观看黄色片 | 国产精品v亚洲精品v日韩精品 | 欧美激情三区 | 国产极品在线观看 | 在线黄色av | 91蜜桃臀久久一区二区 | aaaa黄色片 | 国产精品视频一区二区在线观看 | 国产精品va| 亚洲成成品网站 | 三年在线观看视频 | 一级特黄特色的免费大片视频 | 亚洲区在线 | 国产亚洲女人久久久久毛片 | 日噜噜夜噜噜 | 免费日韩 | 2024国产精品 | 成人黄色小说在线观看 | 中文字幕不卡在线播放 | 中文字幕亚洲图片 | 精品亚洲一区二区 | 人妻熟人中文字幕一区二区 | 亚洲av成人片色在线观看高潮 | 朝鲜女人性猛交 | 香蕉色综合 | 超碰97在线免费观看 | 日本一区二区三区视频免费看 | 一区二区三区视频 | 久久久一 | 午夜精品久久久内射近拍高清 | 欧美爽妇 | 日韩有码一区 | 欧美粉嫩videosex极品 | 医生强烈淫药h调教小说视频 | 好吊妞一区二区三区 | 被黑人啪到哭的番号922在线 | av网址在线看 | 探花视频在线版播放免费观看 | 国产成人精品一区二区无码呦 | 欧美色图激情小说 | 日韩国产精品一区二区 | 牛人盗摄一区二区三区视频 | 9.1在线观看免费 | 国产91av视频 | 欧美人与动性xxxxx杂性 | 久久人妻精品白浆国产 | 裸体一区二区 | 欧美情爱视频 | 欧美人伦| 久久精品男人 |