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

學(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>
            久久精视频免费在线久久完整在线看| 在线日韩视频| 亚洲综合国产激情另类一区| 麻豆精品在线播放| 欧美一区二区三区在线看 | 久久久精彩视频| 国产一区二区福利| 欧美日韩在线看| 欧美日韩精品是欧美日韩精品| 欧美www在线| 亚洲一二三四久久| 一区二区三区日韩在线观看| 亚洲国内自拍| 蜜臀久久久99精品久久久久久 | 欧美精品色网| 亚洲欧美日本视频在线观看| 欧美国产欧美亚洲国产日韩mv天天看完整 | 久久不见久久见免费视频1| 亚洲欧美卡通另类91av| 亚洲系列中文字幕| 亚洲一区在线看| 西西裸体人体做爰大胆久久久| 亚洲一二三四区| 亚洲欧美综合网| 久久午夜激情| 欧美国产日本| 欧美日韩在线观看视频| 国产女主播一区二区| 国内精品视频在线播放| 在线观看91久久久久久| 在线观看一区二区精品视频| 91久久线看在观草草青青| 亚洲性感美女99在线| 午夜精品999| 老牛国产精品一区的观看方式| 欧美成人免费全部| 亚洲日本在线观看| 亚洲综合视频网| 久久久国产91| 欧美日韩三级电影在线| 欧美日韩岛国| 国产日韩精品一区观看| 亚洲国产精品ⅴa在线观看 | 亚洲欧美日本伦理| 日韩天堂av| 久久躁日日躁aaaaxxxx| 久久人人爽爽爽人久久久| 欧美激情四色| 午夜视频一区| 女女同性精品视频| 国产精品一区二区在线观看网站| 国内久久精品| 中文亚洲免费| 欧美大片国产精品| 亚洲自拍都市欧美小说| 亚洲欧美视频一区二区三区| 欧美黄网免费在线观看| 国产精品日韩一区| 亚洲三级性片| 久久久久久黄| 亚洲人成网站777色婷婷| 亚洲欧美日韩在线| 欧美日韩国产另类不卡| 国产亚洲人成a一在线v站| 亚洲区中文字幕| 免费人成精品欧美精品| 亚洲欧美中文日韩在线| 欧美精品午夜视频| 亚洲高清网站| 久久久久久久网站| 亚洲欧美一级二级三级| 欧美日韩中文另类| 亚洲欧洲在线视频| 久久综合99re88久久爱| 亚洲日本无吗高清不卡| 欧美日韩国产在线看| 亚洲国产精品ⅴa在线观看| 久久久久久亚洲精品中文字幕| 99国产精品久久久久久久| 欧美日本在线| 亚洲乱码国产乱码精品精可以看 | 亚洲国产日韩欧美在线动漫| 欧美中日韩免费视频| 性刺激综合网| 亚洲一级黄色| 国产伦精品一区二区三区视频孕妇 | 亚洲精品四区| 欧美高清视频一区二区三区在线观看 | 国产一区二区剧情av在线| 久久久久久久成人| 欧美成年网站| 亚洲欧美日韩精品久久奇米色影视| 亚洲自拍三区| 在线观看不卡| 99精品国产高清一区二区| 国产美女精品免费电影| 久久综合色影院| 欧美日韩国产影院| 久久久爽爽爽美女图片| 欧美激情综合网| 久久精品免视看| 欧美日韩亚洲一区| 久久综合伊人77777| 欧美视频1区| 老**午夜毛片一区二区三区| 欧美日韩视频在线一区二区| 久久久久国产精品人| 欧美精品一区二区三区在线播放| 香港久久久电影| 欧美激情视频一区二区三区免费| 久久成人在线| 欧美午夜精品久久久久久人妖| 浪潮色综合久久天堂| 国产精品天天摸av网| 亚洲精品欧美日韩专区| 伊伊综合在线| 亚洲一区二区三区免费观看 | 国产精品人成在线观看免费| 亚洲国产精品成人一区二区 | 美女免费视频一区| 欧美性开放视频| 亚洲第一区色| 激情亚洲网站| 亚洲自拍偷拍视频| 一区二区三区日韩精品视频| 久久久国产精品一区二区中文| 午夜精品久久久久久久白皮肤| 欧美国产日产韩国视频| 欧美成黄导航| 精品51国产黑色丝袜高跟鞋| 亚洲女人天堂成人av在线| 亚洲视频精品| 欧美日本三区| 91久久精品国产91久久| 在线成人免费视频| 久久久久久91香蕉国产| 欧美亚洲视频| 国产精品一区二区a| 亚洲一区视频| 欧美专区日韩视频| 国产欧美日韩高清| 亚洲欧美日韩一区二区在线 | 欧美 日韩 国产一区二区在线视频| 久久亚洲春色中文字幕久久久| 国产一区二区| 久久不射2019中文字幕| 久久偷看各类wc女厕嘘嘘偷窃| 国内成人自拍视频| 久久久免费精品视频| 欧美阿v一级看视频| 亚洲国产成人午夜在线一区| 免费永久网站黄欧美| 亚洲国产综合91精品麻豆| 一区二区三区四区在线| 欧美三级在线播放| 亚洲一区二区三区在线播放| 欧美在线视频观看| 精品成人在线视频| 欧美成人网在线| 一区二区三区四区国产精品| 欧美一级久久| 在线观看欧美激情| 欧美日韩精品综合| 亚洲欧美日本伦理| 欧美国产日韩精品免费观看| 99国产一区| 国产精品一区二区久久国产| 久久激情五月婷婷| 亚洲欧洲日本一区二区三区| 亚洲欧美日韩一区在线| 国产在线不卡视频| 欧美国产欧美亚洲国产日韩mv天天看完整 | 亚洲精品乱码久久久久| 亚洲永久免费av| 韩日成人在线| 欧美日韩国产大片| 久久黄色小说| 一本色道久久综合精品竹菊| 久久看片网站| 一区二区黄色| 国产伦精品一区二区三区视频孕妇| 久久影视精品| 亚洲午夜女主播在线直播| 美女网站久久| 性欧美8khd高清极品| 亚洲国产成人久久综合| 国产精品第三页| 免费成人小视频| 午夜精品久久久久久99热软件| 亚洲国产精品成人va在线观看| 欧美一区在线看| 夜夜嗨av色一区二区不卡| 国产一区再线| 国产精品一区二区三区久久久| 欧美精品三级日韩久久| 久久久91精品国产一区二区三区| 一区二区冒白浆视频| 亚洲高清自拍| 欧美xxx在线观看| 久久久久综合|