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

ACM___________________________

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

常用鏈接

留言簿(24)

隨筆分類(332)

隨筆檔案(182)

FRIENDS

搜索

積分與排名

最新隨筆

最新評論

閱讀排行榜

評論排行榜

MiYu原創, 轉帖請注明 : 轉載自 ______________白白の屋    

 

題目地址:

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

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

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

C++ 提交代碼.

 

 先看代碼 :

 /*

MiYu原創, 轉帖請注明 : 轉載自 ______________白白の屋

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

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

            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>
            亚洲黄色小视频| 亚洲午夜激情免费视频| 久久精品麻豆| 午夜亚洲伦理| 激情综合色综合久久综合| 久久久久国产精品一区| 久久九九有精品国产23| 亚洲第一综合天堂另类专| 欧美韩国日本一区| 欧美国产视频一区二区| 亚洲一区二区三区免费观看| 国产精品99久久99久久久二8| 国产精品尤物福利片在线观看| 篠田优中文在线播放第一区| 欧美永久精品| 亚洲精品美女久久久久| 一区二区三区.www| 国产午夜精品久久久久久免费视| 久久午夜羞羞影院免费观看| 欧美福利影院| 欧美在线视频观看免费网站| 久久亚洲私人国产精品va| 亚洲美女91| 亚洲欧美日韩综合| 亚洲日本理论电影| 亚洲一二三四区| 亚洲成人在线网| 日韩西西人体444www| 国产日韩在线看片| 91久久嫩草影院一区二区| 国产精品久久波多野结衣| 麻豆精品视频在线观看| 欧美日韩国产综合视频在线观看中文 | 欧美日韩国产电影| 欧美在线地址| 欧美精品在线视频观看| 欧美在线综合视频| 欧美精品少妇一区二区三区| 久久精品一区二区三区不卡牛牛| 免费短视频成人日韩| 午夜在线一区二区| 欧美电影免费网站| 久久这里只有| 国产精品欧美在线| 亚洲精品欧美极品| 在线观看一区欧美| 亚洲欧美在线看| 亚洲视频1区2区| 欧美a一区二区| 久久嫩草精品久久久久| 国产精品高潮在线| 亚洲黄色免费| 亚洲福利av| 久久精品在线视频| 久久riav二区三区| 国产精品黄页免费高清在线观看| 免费久久99精品国产| 国产精品自拍小视频| 99在线精品免费视频九九视| 亚洲欧洲免费视频| 久久久久国产成人精品亚洲午夜| 亚洲欧美日韩一区在线| 欧美精品自拍偷拍动漫精品| 欧美华人在线视频| 亚洲国产欧美日韩另类综合| 久久嫩草精品久久久精品一| 久久久久国产一区二区三区四区 | 欧美3dxxxxhd| 欧美超级免费视 在线| 一区二区三区亚洲| 久久精品免视看| 久久三级视频| 狠狠色狠色综合曰曰| 久久精品1区| 蜜臀91精品一区二区三区| 136国产福利精品导航| 久久久www成人免费无遮挡大片 | 久久亚洲私人国产精品va媚药| 国产精品久久久久一区| 亚洲色图综合久久| 欧美在线视频a| 国外精品视频| 欧美99久久| 日韩亚洲在线观看| 欧美中文字幕不卡| 精品1区2区3区4区| 欧美福利视频网站| 亚洲天天影视| 久久久久久久综合| 91久久久精品| 国产精品video| 欧美在线视频导航| 亚洲国产欧洲综合997久久| 亚洲欧洲一区二区三区| 欧美日本精品| 亚洲午夜一区二区三区| 久久免费国产精品| 亚洲精品资源| 国产精品亚洲激情| 蜜桃视频一区| 亚洲一区二区三区激情| 美女日韩欧美| 亚洲午夜小视频| 国产综合欧美| 欧美精品成人| 久久国产精品久久精品国产 | 午夜在线精品偷拍| 亚洲国产精品成人| 国产精品高潮粉嫩av| 久久国产精品电影| 日韩午夜在线视频| 久久综合影音| 亚洲免费在线播放| 在线看视频不卡| 国产精品福利片| 久热精品视频在线观看一区| 亚洲最新在线视频| 免费中文日韩| 欧美专区第一页| 一区二区三区波多野结衣在线观看| 国产日韩欧美高清| 欧美日韩精品一本二本三本| 欧美在线免费观看视频| 日韩视频中文| 欧美激情按摩| 久久影院午夜论| 欧美一级电影久久| 一区二区三区色| 亚洲国产精品ⅴa在线观看| 国产精品一区二区三区四区五区 | 久久久久欧美精品| 亚洲欧美另类在线观看| 亚洲美女区一区| 亚洲福利视频一区| 老司机午夜精品| 久久美女性网| 欧美综合国产精品久久丁香| 亚洲视频免费看| 99综合在线| 99视频一区| 99re热精品| 亚洲精品影视| 亚洲欧洲日产国产网站| 伊人久久亚洲热| 黄色小说综合网站| 狠狠久久婷婷| 极品少妇一区二区| 好吊妞**欧美| 激情伊人五月天久久综合| 黄色成人片子| 精品盗摄一区二区三区| 伊人色综合久久天天五月婷| 一区视频在线| 亚洲国产一二三| 亚洲精品裸体| 在线亚洲欧美| 午夜视频久久久| 久久久国产午夜精品| 你懂的国产精品| 亚洲激情在线观看| 99视频有精品| 午夜精品一区二区三区在线视| 亚洲欧美影音先锋| 久久蜜臀精品av| 欧美激情一二区| 国产精品高潮粉嫩av| 国产欧美一区二区精品秋霞影院| 国产欧美一区二区三区久久人妖 | 一区在线播放| 亚洲破处大片| 中文av一区特黄| 欧美诱惑福利视频| 你懂的视频一区二区| 亚洲毛片一区二区| 欧美在线观看视频| 欧美韩日一区| 国产人成一区二区三区影院| 在线日本成人| 亚洲综合成人婷婷小说| 美日韩精品免费| 一区二区欧美视频| 久久免费视频网站| 国产精品久久久久久av下载红粉 | 欧美中文字幕在线| 欧美国产亚洲精品久久久8v| 亚洲精品一区在线观看| 午夜精品久久久久久久蜜桃app| 久久亚洲精品欧美| 国产精品久久激情| 在线看欧美日韩| 亚洲欧美精品在线观看| 欧美成人精品h版在线观看| 亚洲精品视频啊美女在线直播| 亚洲嫩草精品久久| 欧美激情精品久久久久久大尺度| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 欧美激情视频一区二区三区在线播放 | 午夜亚洲视频| 欧美日韩精品一区二区在线播放| 国产三级精品在线不卡|