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

ACM___________________________

______________白白の屋
posts - 182, comments - 102, trackbacks - 0, articles - 0
<2010年8月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

常用鏈接

留言簿(24)

隨筆分類(332)

隨筆檔案(182)

FRIENDS

搜索

積分與排名

最新隨筆

最新評論

閱讀排行榜

評論排行榜

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

 

題目地址:

      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  : 分離操作, 將一封郵件獨立出去, 單獨占一個集合.

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

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

C++ 提交代碼.

 

 先看代碼 :

 /*

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

          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;          //       <------------------------------這是關鍵, 雖然空間的消耗比較大, 但是節(jié)省了大量時間, 這樣處理的目的是將0 -> N-1 的 節(jié)點處理成葉子節(jié)點

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

            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;                   //初始化操作就是為這一步準備的

                  }

            } 

            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>
            欧美大尺度在线| 国产在线精品成人一区二区三区| 久久噜噜亚洲综合| 午夜欧美视频| 亚洲第一精品在线| 亚洲欧美在线视频观看| 欧美精品1区| 在线日韩成人| 国产精品少妇自拍| 亚洲一区欧美激情| 麻豆亚洲精品| 欧美亚洲一区| 国产精品日韩欧美大师| 在线亚洲精品福利网址导航| 久久亚洲电影| 玖玖玖国产精品| 激情婷婷亚洲| 狂野欧美激情性xxxx欧美| 久久久久久9| 亚洲第一福利视频| 免费日韩av| 欧美国产欧美亚洲国产日韩mv天天看完整 | 日韩一区二区免费高清| 久久精品日产第一区二区| 一区二区三区免费在线观看| 欧美激情亚洲一区| 午夜精品久久久久久久久久久久久| 在线视频日韩| 在线观看日韩www视频免费| 亚洲国产你懂的| 欧美四级在线观看| 久久一本综合频道| 欧美日韩高清在线播放| 久久精品30| 欧美日韩1080p| 久久亚洲视频| 国产九九精品视频| 亚洲区国产区| 亚洲激情在线观看| 亚洲综合第一| 欧美成人免费小视频| 午夜国产精品视频免费体验区| 性欧美video另类hd性玩具| 久久久久一区二区三区| 欧美一区二区精美| 欧美日韩国产欧| 亚洲国产清纯| 亚洲国产精品久久精品怡红院| 性色一区二区三区| 欧美一区二区三区精品电影| 欧美激情一区二区三区成人| 欧美va天堂| 亚洲国产精品123| 久久一区中文字幕| 农村妇女精品| 伊人夜夜躁av伊人久久| 美女性感视频久久久| 亚洲婷婷综合色高清在线 | 亚洲人人精品| 亚洲丁香婷深爱综合| 欧美暴力喷水在线| 欧美欧美午夜aⅴ在线观看| 久热成人在线视频| 伊人久久综合| 欧美激情综合五月色丁香小说| 久久综合九色九九| 激情久久久久久久久久久久久久久久| 久久激情综合网| 免播放器亚洲| 99re6热在线精品视频播放速度 | 一本色道久久综合| 一区二区欧美视频| 国产精品永久免费观看| 欧美在线啊v| 亚洲精品中文字幕有码专区| 亚洲黄色免费| 国产日韩欧美高清免费| 欧美高清视频一区二区三区在线观看 | 免费在线观看成人av| 亚洲国产毛片完整版| 亚洲欧美日本日韩| 在线观看视频免费一区二区三区 | 欧美国产亚洲精品久久久8v| 亚洲在线一区二区三区| 国内外成人免费视频| 欧美日韩国产综合网| 久久久.com| …久久精品99久久香蕉国产| 欧美午夜精品久久久久久孕妇| 久久精品国产欧美激情| 亚洲高清在线视频| 男女精品网站| 欧美成人一区二区三区片免费| 久久精品国产精品亚洲| 宅男精品视频| 亚洲国产成人av| 亚洲国产精品久久| 亚洲国产精品成人久久综合一区| 国模叶桐国产精品一区| 国产一区三区三区| 在线不卡免费欧美| 在线观看视频一区二区欧美日韩| 国产精品自在欧美一区| 国产精品免费在线| 国产精品每日更新| 国产精品一区二区黑丝| 国产日韩在线看| 精品粉嫩aⅴ一区二区三区四区| 国内成人精品2018免费看| 国产日韩一区二区三区在线| 国产自产精品| 亚洲精品在线二区| 久久国产一区二区三区| 久久夜色精品国产| 国产精品99久久久久久白浆小说 | 亚洲视频在线二区| 欧美一级播放| 91久久久国产精品| 欧美一级片一区| 麻豆视频一区二区| 久久人人爽人人| 欧美另类综合| 国产一区视频观看| 国内精品久久久久影院色| 一本色道久久综合亚洲精品高清| 久久手机精品视频| 亚洲桃花岛网站| 亚洲日本欧美| 亚洲最新中文字幕| 一区二区三区日韩在线观看| 亚洲国产婷婷香蕉久久久久久99 | 欧美有码在线视频| 欧美日本在线| 99热精品在线| 欧美日韩1080p| 亚洲一级二级| 久久久久.com| 国产在线拍偷自揄拍精品| 国产精品99久久久久久www| 欧美风情在线| 欧美高清在线一区二区| 一区二区亚洲欧洲国产日韩| 欧美成人一区二区三区在线观看| 麻豆freexxxx性91精品| 亚洲一区二区视频| 免费看亚洲片| 久热re这里精品视频在线6| 欧美四级电影网站| 久久夜色撩人精品| 欧美日韩一区二区视频在线| 久久视频免费观看| 国产精品高潮呻吟| 亚洲精品专区| 亚洲国产一区二区精品专区| 9久草视频在线视频精品| 亚洲激情视频在线观看| 亚洲一区二区视频在线观看| 亚洲国内高清视频| 久久国产精品久久w女人spa| 亚洲四色影视在线观看| 欧美顶级大胆免费视频| 久久看片网站| 国内一区二区三区| 欧美一级成年大片在线观看| 午夜精品国产| 国产精品日本欧美一区二区三区| 亚洲精品国产系列| 亚洲图片你懂的| 亚洲国产精品t66y| 极品日韩久久| 欧美成人综合一区| 夜夜嗨av一区二区三区四季av| 一区二区三区视频在线| 国产精品高清免费在线观看| 一本色道久久综合狠狠躁的推荐| 亚洲美女视频在线观看| 欧美视频中文一区二区三区在线观看| 一区二区日本视频| 久久国产精彩视频| 激情自拍一区| 欧美日韩视频在线一区二区| 亚洲视频专区在线| 美女精品国产| 亚洲综合成人在线| 亚洲成人在线网| 国产精品久久看| 欧美大片在线观看一区| 午夜精品在线看| 亚洲人成人一区二区三区| 久久不射电影网| 亚洲一区二区三区精品在线| 黄色一区二区三区四区| 国产精品久久久久一区| 麻豆精品视频| 久久久久国产精品麻豆ai换脸| 亚洲精品久久久久中文字幕欢迎你| 性欧美video另类hd性玩具| 99视频精品在线| 日韩一区二区精品| 一区二区三区精品国产|