青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

學(xué)習(xí)心得(code)

superlong@CoreCoder

  C++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
  74 Posts :: 0 Stories :: 5 Comments :: 0 Trackbacks

公告

文字可能放在http://blog.csdn.net/superlong100,此處存放代碼

常用鏈接

留言簿(4)

我參與的團隊

搜索

  •  

最新隨筆

最新評論

  • 1.?re: Poj 1279
  • 對于一個凹多邊形用叉積計算面積 后能根據(jù)結(jié)果的正負(fù)來判斷給的點集的時針方向?
  • --bsshanghai
  • 2.?re: Poj 3691
  • 你寫的這個get_fail() 好像并是真正的get_fail,也是說fail指向的串并不是當(dāng)前結(jié)點的子串。為什么要這樣弄呢?
  • --acmer1183
  • 3.?re: HDU2295[未登錄]
  • 這個是IDA* 也就是迭代加深@ylfdrib
  • --superlong
  • 4.?re: HDU2295
  • 評論內(nèi)容較長,點擊標(biāo)題查看
  • --ylfdrib
  • 5.?re: HOJ 11482
  • 呵呵..把代碼發(fā)在這里很不錯..以后我也試試...百度的編輯器太爛了....
  • --csuft1

閱讀排行榜

評論排行榜

病毒侵襲

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 415    Accepted Submission(s): 48


Problem Description
當(dāng)太陽的光輝逐漸被月亮遮蔽,世界失去了光明,大地迎來最黑暗的時刻。。。。在這樣的時刻,人們卻異常興奮——我們能在有生之年看到500年一遇的世界奇觀,那是多么幸福的事兒啊~~
但 網(wǎng)路上總有那么些網(wǎng)站,開始借著民眾的好奇心,打著介紹日食的旗號,大肆傳播病毒。小t不幸成為受害者之一。小t如此生氣,他決定要把世界上所有帶病毒的 網(wǎng)站都找出來。當(dāng)然,誰都知道這是不可能的。小t卻執(zhí)意要完成這不能的任務(wù),他說:“子子孫孫無窮匱也!”(愚公后繼有人了)。
萬事開頭難,小t 收集了好多病毒的特征碼,又收集了一批詭異網(wǎng)站的源碼,他想知道這些網(wǎng)站中哪些是有病毒的,又是帶了怎樣的病毒呢?順便還想知道他到底收集了多少帶病毒的 網(wǎng)站。這時候他卻不知道何從下手了。所以想請大家?guī)蛶兔ΑP又是個急性子哦,所以解決問題越快越好哦~~
 

Input
第一行,一個整數(shù)N(1<=N<=500),表示病毒特征碼的個數(shù)。
接下來N行,每行表示一個病毒特征碼,特征碼字符串長度在20—200之間。
每個病毒都有一個編號,依此為1—N。
不同編號的病毒特征碼不會相同。
在這之后一行,有一個整數(shù)M(1<=M<=1000),表示網(wǎng)站數(shù)。
接下來M行,每行表示一個網(wǎng)站源碼,源碼字符串長度在7000—10000之間。
每個網(wǎng)站都有一個編號,依此為1—M。
以上字符串中字符都是ASCII碼可見字符(不包括回車)。
 

Output
依次按如下格式輸出按網(wǎng)站編號從小到大輸出,帶病毒的網(wǎng)站編號和包含病毒編號,每行一個含毒網(wǎng)站信息。
web 網(wǎng)站編號: 病毒編號 病毒編號 …
冒號后有一個空格,病毒編號按從小到大排列,兩個病毒編號之間用一個空格隔開,如果一個網(wǎng)站包含病毒,病毒數(shù)不會超過3個。
最后一行輸出統(tǒng)計信息,如下格式
total: 帶病毒網(wǎng)站數(shù)
冒號后有一個空格。
 

Sample Input
3
aaa
bbb
ccc
2
aaabbbccc
bbaacc
 

Sample Output
web 1: 1 2 3
total: 1

裸的AC自動機
code:
#include<iostream>
using namespace std;

struct tree
{
    tree 
*fail,*next[128];
    
int  cnt;
}
*root,*p;

tree arr[
1000001];
int  index,n, m;

tree 
*que[1000001];

char let=0;

void newn()
{
    arr[index].cnt
=0;
    
for(int i=0;i<128;i++) arr[index].next[i]=0;
    arr[index].fail
=NULL;
}

void insert(char ch[],int w)
{
    p
=root;
    
int i=0,tmp;
    
while(ch[i])
    {
        tmp
=ch[i]-let;
        
if(p->next[tmp]==0)
        {
            newn();
            p
->next[tmp]=&arr[index++];
        }
        p
=p->next[tmp];
        i
++;
    }
    p
->cnt = w;
}

void get_fail()
{
    tree 
*q;
    p
=root; p->fail=root;
    
int open=-1,close=-1,i;
    
for(i=0;i<128;i++)
    {
        
if(p->next[i]==0) p->next[i]=root;
        
else
        {
            p
->next[i]->fail=root;
            open
++;
            que[open]
=p->next[i];
        }
    }
    
while(close<open)
    {
        close
++;
        q
=que[close];
        
for(i=0;i<128;i++)
        {
            
if(q->next[i]==0) q->next[i]=q->fail->next[i];
            
else
            {
                q
->next[i]->fail=q->fail->next[i];
                open
++;
                que[open]
=q->next[i];
            }    
        }
    }
}

int a[5], len;

int query(char ch[])
{
    
int num=0;
    p
=root;
    tree 
*q;
    
int tmp,i=0;
    len 
= -1;
    a[
0= a[1= a[2= -1;
    
while(ch[i])
    {
        tmp
=ch[i]-let;
        p
=p->next[tmp];
        q
=p;
        
while(q->cnt)
        {
            
if(q->cnt != a[0&& q->cnt != a[1&& q->cnt != a[2])
            {
                len 
++;
                a[len] 
= q->cnt;
            }
            
//q->cnt=0;
            q=q->fail;
        }
        i
++;
    }
    
return len;
}

char s[10005];
int main()
{
    
int t;

    
while(scanf("%d",&n) != EOF)
    {
        getchar();
        
int i;
        index
=0;
        newn();
        root
=&arr[index++];
        
char ch[201];
        
for(i=1;i<=n;i++)
        {   
            gets(ch);
            insert(ch,i);
        }
        get_fail();
        
        scanf(
"%d",&m);getchar();
        
int cnt = 0;
        
for(i = 1;i <= m; i ++)
        {
            gets(s);
            
int tmp = query(s);
            
if(tmp >= 0)
            {
                
int j, k;
                cnt 
++;
                printf(
"web %d:",i);
                
for(j = 0; j <= tmp; j ++)
                
for(k = j+1;k<=tmp; k ++)
                
if(a[j] > a[k]) swap(a[j],a[k]);
                
for(j=0;j<=tmp;j++)    printf(" %d",a[j]); putchar('\n');
            }
        }
        printf(
"total: %d\n",cnt);
    }
}

posted on 2009-08-13 18:35 superlong 閱讀(538) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            性欧美xxxx视频在线观看| 最新国产乱人伦偷精品免费网站 | 在线亚洲一区二区| 亚洲日本va午夜在线影院| 亚洲国产影院| 99这里只有久久精品视频| 一区二区欧美在线| 欧美一区二区三区男人的天堂 | 久久亚洲欧洲| 欧美xxx在线观看| 亚洲精品美女久久久久| 日韩亚洲欧美中文三级| 亚洲综合国产精品| 久久成人综合网| 欧美激情亚洲激情| 国产精品家教| 在线精品视频一区二区三四| 亚洲黄色小视频| 亚洲一区二区三区精品视频| 欧美综合激情网| 欧美国产91| 一区二区三区视频在线观看| 久久精品免费| 欧美午夜不卡| 亚洲国产天堂久久国产91| 午夜亚洲福利在线老司机| 欧美成人69| 亚洲欧美自拍偷拍| 欧美激情精品久久久久久免费印度| 国产精品久久久久久久久婷婷| 亚洲第一综合天堂另类专| 午夜一级久久| 99日韩精品| 欧美aaaaaaaa牛牛影院| 国产一区欧美| 亚洲尤物在线| 最新中文字幕一区二区三区| 欧美在线亚洲在线| 国产精品福利网站| 一本色道久久99精品综合 | 国模私拍视频一区| 亚洲女同在线| 日韩五码在线| 欧美激情一二三区| 亚洲激情在线播放| 久久综合色8888| 午夜精品婷婷| 国产精品爽黄69| 亚洲一区欧美二区| 日韩视频免费看| 欧美日韩亚洲一区二区| 亚洲人成网站999久久久综合| 久久综合色婷婷| 久久国产视频网| 极品裸体白嫩激情啪啪国产精品| 久久久久久黄| 久久久精彩视频| 在线观看成人小视频| 久久亚洲综合网| 久久久国产精品一区二区中文 | 亚洲国产乱码最新视频| 久久精品视频导航| 好看的日韩av电影| 久久精品综合网| 欧美在线日韩| 好吊妞**欧美| 欧美大片18| 欧美国产成人在线| 一区二区三区高清| 一级成人国产| 国产精品美女久久久浪潮软件| 亚洲欧美成人一区二区在线电影 | 国产精品二区三区四区| 欧美亚洲在线播放| 欧美在线观看一区| 在线欧美三区| 亚洲精品一区二区三区在线观看| 欧美日韩亚洲另类| 久久高清免费观看| 久久米奇亚洲| 中文欧美日韩| 欧美综合激情网| 亚洲电影中文字幕| 亚洲欧洲日韩女同| 国产精品久久久久久av福利软件| 久久精品综合| 欧美理论在线| 久久亚洲精品欧美| 欧美日韩情趣电影| 久久久精品国产99久久精品芒果| 理论片一区二区在线| 亚洲美女免费视频| 99精品视频免费观看视频| 国产午夜精品一区理论片飘花 | 欧美久久久久久| 欧美一区二区三区在线观看| 久久久久这里只有精品| 9国产精品视频| 久久xxxx精品视频| 99精品热视频| 麻豆91精品| 久久激情综合网| 欧美精品97| 免费观看30秒视频久久| 国产精品久久久久久久一区探花| 麻豆精品视频在线观看| 欧美性感一类影片在线播放| 牛人盗摄一区二区三区视频| 国产精品嫩草影院av蜜臀| 免费亚洲视频| 国产午夜精品一区二区三区欧美| 99视频精品全国免费| 农村妇女精品| 国产精品一区二区三区久久久| 欧美高清不卡在线| 国产一区在线视频| 亚洲一区亚洲二区| 一区二区三区四区蜜桃| 麻豆乱码国产一区二区三区| 久久精品欧洲| 国产精品麻豆欧美日韩ww| 最新亚洲一区| 亚洲精品乱码久久久久久按摩观| 久久国产精品久久久久久| 先锋a资源在线看亚洲| 欧美日韩精品一二三区| 91久久黄色| 亚洲破处大片| 男人插女人欧美| 欧美v国产在线一区二区三区| 狠狠入ady亚洲精品经典电影| 亚洲自拍偷拍色片视频| 亚洲影院免费观看| 欧美日本免费一区二区三区| 欧美大片免费观看| 亚洲韩国青草视频| 牛牛精品成人免费视频| 欧美国产日韩精品| 亚洲国产成人精品久久久国产成人一区| 亚洲欧美日产图| 久久国产99| 国产一区二区三区不卡在线观看| 亚洲欧美日韩中文视频| 欧美一区二区在线免费观看| 国产精品呻吟| 中文一区字幕| 西瓜成人精品人成网站| 国产午夜精品视频| 欧美一区二视频在线免费观看| 久久精品天堂| 亚洲国内自拍| 久久av一区二区三区| 蜜臀久久久99精品久久久久久 | 亚洲国产另类久久久精品极度 | 久久久成人网| 国精品一区二区| 欧美精品国产精品| 一区二区三区免费看| 久久成人综合视频| 黄色成人av网站| 欧美精品久久久久久久久久| 日韩午夜av电影| 欧美一区二区免费| 伊人久久大香线| 欧美日韩国产999| 性高湖久久久久久久久| 欧美福利视频在线观看| 亚洲视频www| 国产又爽又黄的激情精品视频 | 中国成人黄色视屏| 国产午夜精品全部视频播放| 麻豆国产va免费精品高清在线| 亚洲精品视频在线播放| 国产自产高清不卡| 伊人夜夜躁av伊人久久| 欧美一级片在线播放| 欧美四级在线观看| 亚洲国产精品激情在线观看| 久久久亚洲影院你懂的| 玖玖玖免费嫩草在线影院一区| 国产亚洲欧美另类一区二区三区| 日韩视频二区| 亚洲国产成人精品女人久久久| 亚洲欧美精品一区| 亚洲日本欧美| 国产精品爽爽ⅴa在线观看| 欧美肥婆在线| 国产美女诱惑一区二区| 亚洲精品综合| 亚洲一区二区精品在线| 欧美国产亚洲另类动漫| 欧美阿v一级看视频| 在线精品亚洲| 久久影院亚洲| 亚洲国产精品成人精品| 亚洲人成免费| 欧美乱妇高清无乱码| 日韩视频免费观看| 欧美一区二区三区四区视频| 国产精品一区久久久久|