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

ACM___________________________

______________白白の屋
posts - 182, comments - 102, trackbacks - 0, articles - 0
<2010年10月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

常用鏈接

留言簿(24)

隨筆分類(332)

隨筆檔案(182)

FRIENDS

搜索

積分與排名

最新隨筆

最新評論

閱讀排行榜

評論排行榜

MiYu原創(chuàng), 轉(zhuǎn)帖請注明 : 轉(zhuǎn)載自 ______________白白の屋    

 

題目地址:

      http://acm.hdu.edu.cn/showproblem.php?pid=2473 

題目描述:

Junk-Mail Filter

Time Limit: 15000/8000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1785    Accepted Submission(s): 521


Problem Description
Recognizing junk mails is a tough task. The method used here consists of two steps:
1) Extract the common characteristics from the incoming email.
2) Use a filter matching the set of common characteristics extracted to determine whether the email is a spam.

We want to extract the set of common characteristics from the N sample junk emails available at the moment, and thus having a handy data-analyzing tool would be helpful. The tool should support the following kinds of operations:

a) “M X Y”, meaning that we think that the characteristics of spam X and Y are the same. Note that the relationship defined here is transitive, so
relationships (other than the one between X and Y) need to be created if they are not present at the moment.

b) “S X”, meaning that we think spam X had been misidentified. Your tool should remove all relationships that spam X has when this command is received; after that, spam X will become an isolated node in the relationship graph.

Initially no relationships exist between any pair of the junk emails, so the number of distinct characteristics at that time is N.
Please help us keep track of any necessary information to solve our problem.
 

Input
There are multiple test cases in the input file.
Each test case starts with two integers, N and M (1 ≤ N ≤ 105 , 1 ≤ M ≤ 106), the number of email samples and the number of operations. M lines follow, each line is one of the two formats described above.
Two successive test cases are separated by a blank line. A case with N = 0 and M = 0 indicates the end of the input file, and should not be processed by your program.
 

Output
For each test case, please print a single integer, the number of distinct common characteristics, to the console. Follow the format as indicated in the sample below.
 

Sample Input
5 6 M 0 1 M 1 2 M 1 3 S 1 M 1 2 S 3 3 1 M 1 2 0 0
 

Sample Output
Case #1: 3 Case #2: 2
 

題目分析:

       題目的意思大概就是 有N 封郵件, 編號 0 -> N-1,  然后有2種操作,  M : 合并操作, 將 2 種郵件合并為一種.

                                                                                                                          S  : 分離操作, 將一封郵件獨(dú)立出去, 單獨(dú)占一個(gè)集合.

      最后題目要求統(tǒng)計(jì) 集合的 個(gè)數(shù).   從這里可以很容易的看出, 這是一個(gè) 并查集的題目, 不過按樸素方法來做的話, 一般都會 TLE.

加上數(shù)據(jù)量很大 ,  不要使用 cin , 會超時(shí). 而且一般來說 G ++ 和 C++ 在處理大量數(shù)據(jù)的時(shí)候會有1倍的時(shí)差 !!! 所以一般建議使用

C++ 提交代碼.

 

 先看代碼 :

 /*

MiYu原創(chuàng), 轉(zhuǎn)帖請注明 : 轉(zhuǎn)載自 ______________白白の屋

          http://www.cnblog.com/MiYu

Author By : MiYu

Test      : 1

Program   : 2473

*/


#include <iostream>

#include <algorithm>

using namespace std;

int set[1350005];

int a[125000];

int N,M;

int inline find ( int x )

{

    return x != set[x] ? set[x] = find ( set[x] ) : set[x]; 

void inline merge ( int x, int y )

{

     x = find ( x );

     y = find ( y );

     if ( x == y )  return ;

     set[x] = y; 

}

int main ()

{

    int ca = 1;

    while ( scanf ( "%d%d",&N,&M ), M || N )

    {

            for ( int i = 0; i < N; ++ i )

                  set[i] = i+N;

            for ( int i = N; i <= N + N + M; ++ i )

                  set[i] = i;          //       <------------------------------這是關(guān)鍵, 雖然空間的消耗比較大, 但是節(jié)省了大量時(shí)間, 這樣處理的目的是將0 -> N-1 的 節(jié)點(diǎn)處理成葉子節(jié)點(diǎn)

                                         //                                                       這樣在對這些 節(jié)點(diǎn)做 S 操作的時(shí)候就不會影響到其他的節(jié)點(diǎn), 而 find 操作是帶路徑壓縮的, 所以就保證了我們所                                            //                                                       有要處理的節(jié)點(diǎn)一直是葉子節(jié)點(diǎn) !!!

            int sep = N + N;

            int x,y; char ch[5]; 

            for ( int i = 0; i != M; ++ i )

            {

                  scanf ( "%s",ch ); 

                  switch ( ch[0] )

                  {

                           case 'M': scanf ( "%d%d",&x,&y ); merge ( x,y ); break;

                           case 'S': scanf ( "%d",&x ); set[x] = sep ++;    break;                   //初始化操作就是為這一步準(zhǔn)備的

                  }

            } 

            for ( int i = 0; i != N; ++ i )

                  a[i] = find ( i );

            sort ( a, a + N );   

            int nCount = 1;

            for ( int i = 1; i < N; ++ i )

                  if ( a[i] != a[i-1] ) nCount ++;

            printf("Case #%d: %d\n",ca++,nCount);

    }

    return 0;

}


 

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美日韩性视频在线| 亚洲高清视频一区| 久久综合激情| 欧美日韩小视频| 一区二区三区高清在线观看| 亚洲免费在线观看| 日韩视频三区| 夜色激情一区二区| 亚洲国产成人精品久久久国产成人一区| 最新日韩精品| 国产在线精品自拍| 99热这里只有成人精品国产| 狠狠色综合网站久久久久久久| 日韩视频免费在线| 在线成人h网| 亚洲天堂黄色| 在线视频你懂得一区二区三区| 亚洲精品专区| 亚洲韩国一区二区三区| 亚洲在线日韩| 亚洲视频一区二区在线观看| 另类亚洲自拍| 久久一区激情| 国产精品一区二区你懂得| 亚洲片在线资源| 在线免费观看成人网| 午夜视频久久久| 亚洲欧美精品在线观看| 欧美国产日韩一二三区| 欧美大片网址| 永久免费精品影视网站| 亚洲第一网站免费视频| 狠狠狠色丁香婷婷综合激情| 亚洲图片欧洲图片日韩av| 亚洲大胆女人| 久久久夜精品| 美日韩免费视频| 一区精品在线播放| 欧美成人情趣视频| 亚洲美女毛片| 午夜在线a亚洲v天堂网2018| 国产精品亚洲а∨天堂免在线| 亚洲女人天堂av| 久久亚洲风情| 亚洲乱码日产精品bd| 欧美三级小说| 亚洲欧美日韩另类| 美女性感视频久久久| 一本色道久久综合亚洲精品按摩| 欧美三区在线视频| 亚洲性感激情| 欧美成人免费视频| 亚洲视频香蕉人妖| 国产在线观看精品一区二区三区 | 久久久福利视频| 亚洲国产精品电影在线观看| 欧美女同在线视频| 亚洲欧美综合国产精品一区| 狼人天天伊人久久| 在线视频欧美一区| 国产综合欧美在线看| 欧美国产成人精品| 亚洲欧美日韩国产综合在线| 免费观看日韩av| 亚洲影视在线| 亚洲高清久久| 国产精品天美传媒入口| 男人的天堂成人在线| 亚洲砖区区免费| 亚洲激情校园春色| 久久精品欧洲| 国产精品99久久久久久www| 国产午夜精品一区理论片飘花| 免费在线亚洲欧美| 欧美一区二区三区婷婷月色| 亚洲欧洲一区二区三区在线观看| 久久精品国产亚洲aⅴ| 99re66热这里只有精品3直播| 国产一区二区三区在线观看网站 | 久久av老司机精品网站导航| 亚洲欧洲日产国产网站| 久久er精品视频| 亚洲最新视频在线| 亚洲国产欧美久久| 国产婷婷97碰碰久久人人蜜臀| 欧美日韩国产成人在线| 久久久蜜桃精品 | 亚洲理论在线观看| 欧美 日韩 国产 一区| 欧美一区二区视频在线观看| 在线亚洲美日韩| 亚洲精品一区二区三区福利 | 国产精品视频不卡| 欧美日韩大陆在线| 欧美91福利在线观看| 久久精品论坛| 久久精品99国产精品酒店日本| 亚洲在线日韩| 亚洲综合三区| 亚洲宅男天堂在线观看无病毒| 一区二区三区高清在线| 日韩视频一区二区在线观看| 亚洲国产精品激情在线观看| 欧美mv日韩mv国产网站app| 久久夜色精品亚洲噜噜国产mv| 欧美一区二区性| 欧美在线国产精品| 久久爱另类一区二区小说| 亚洲欧美久久久| 午夜欧美大尺度福利影院在线看| 亚洲在线观看视频| 翔田千里一区二区| 欧美一区二区精品久久911| 亚洲欧美一区二区视频| 性欧美暴力猛交69hd| 久久av在线| 久久男人资源视频| 欧美高清不卡在线| 亚洲激情视频在线| 亚洲乱码国产乱码精品精可以看 | 亚洲免费观看高清完整版在线观看熊| 尤物精品国产第一福利三区| 在线日韩成人| 亚洲另类视频| 亚洲综合二区| 久久久av毛片精品| 欧美jjzz| 99精品久久久| 午夜日本精品| 免费不卡在线观看av| 欧美激情亚洲视频| 国产精品久久久久久久久久尿| 国产精品视频免费一区| 国产综合精品| 亚洲日本aⅴ片在线观看香蕉| 正在播放亚洲一区| 欧美中文日韩| 亚洲高清资源| 亚洲一区二区三区中文字幕在线| 欧美制服丝袜第一页| 快射av在线播放一区| 欧美日韩情趣电影| 国产一区二区三区四区在线观看| 亚洲国产精选| 亚洲自拍偷拍视频| 欧美v国产在线一区二区三区| 亚洲九九精品| 久久久久久**毛片大全| 欧美日韩高清一区| 激情久久久久久| 亚洲视频欧美在线| 美女主播视频一区| 亚洲一区bb| 欧美激情综合在线| 国产视频精品网| 亚洲天堂av图片| 欧美高清一区| 久久大逼视频| 国产精品一区二区视频| 亚洲日本aⅴ片在线观看香蕉| 欧美在线一级va免费观看| 亚洲激情小视频| 久久精品视频99| 国产精品美女www爽爽爽| 亚洲国产精品国自产拍av秋霞 | 亚洲手机在线| 欧美国产91| 久久九九全国免费精品观看| 欧美天天综合网| 亚洲精品一区二区三区婷婷月| 久久久久久欧美| 亚洲女人天堂av| 国产精品草莓在线免费观看| 亚洲精品视频免费观看| 久久这里有精品视频 | 9色porny自拍视频一区二区| 免费观看日韩av| 精品999成人| 久久麻豆一区二区| 新狼窝色av性久久久久久| 国产精品成人一区二区网站软件| 亚洲乱码精品一二三四区日韩在线| 美女国产精品| 久久另类ts人妖一区二区| 韩国av一区二区| 久久久综合精品| 久久久精品tv| 精品动漫3d一区二区三区免费| 久久亚洲国产精品一区二区| 午夜久久久久| 国产网站欧美日韩免费精品在线观看 | 久久精品在线观看| 午夜精品久久久久久久久久久久久 | 欧美日本在线| 99亚洲伊人久久精品影院红桃| 91久久精品一区二区别| 欧美国产日韩在线观看| 亚洲九九爱视频| 亚洲精选一区二区| 欧美视频在线观看一区|