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

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>
            亚洲精品国产拍免费91在线| 久久综合亚洲社区| 亚洲素人一区二区| 日韩视频亚洲视频| 一区二区欧美在线观看| 中文在线资源观看网站视频免费不卡 | 亚洲视频在线一区| 欧美一区二区三区免费看| 久久久精品免费视频| 免费亚洲婷婷| 国产精品久久久久一区二区三区| 国产精品毛片高清在线完整版| 国内外成人免费激情在线视频网站 | 欧美亚洲视频一区二区| 一本色道久久综合亚洲精品按摩| 亚洲一区二区三区国产| av不卡免费看| 欧美在线播放| 亚洲国产高清一区| 一本色道久久综合一区 | 国产精品在线看| 伊人成综合网伊人222| 一本色道精品久久一区二区三区 | 久久久久久久97| 欧美日韩成人| 亚洲大胆人体视频| 亚洲欧美自拍偷拍| 亚洲国产精品va在线看黑人| 亚洲欧美日本国产专区一区| 欧美国产日韩在线观看| 免费亚洲网站| 亚洲国产cao| 亚洲一区亚洲| 91久久线看在观草草青青| 欧美一级电影久久| 欧美午夜视频在线| 亚洲精品小视频在线观看| 欧美中文字幕久久| 一区二区日本视频| 欧美激情一区二区三区不卡| 国产午夜精品视频免费不卡69堂| 一本色道久久加勒比88综合| 久久亚洲国产精品日日av夜夜| 欧美国产第一页| 先锋影院在线亚洲| 国产精品毛片一区二区三区| 亚洲午夜免费福利视频| 亚洲欧洲精品一区二区精品久久久| 欧美一区二区播放| 国产日韩综合一区二区性色av| 亚洲久久一区二区| 欧美高清视频在线| 久久综合久久美利坚合众国| 国产一区99| 久久久久久有精品国产| 午夜在线一区二区| 国产人妖伪娘一区91| 久久9热精品视频| 亚洲欧美综合精品久久成人| 国产精品视频xxx| 亚洲综合色自拍一区| 夜夜躁日日躁狠狠久久88av| 欧美伦理a级免费电影| 亚洲精品久久久蜜桃| 亚洲电影在线观看| 欧美日韩不卡视频| 午夜一级久久| 午夜精品理论片| 韩国av一区| 欧美韩国日本综合| 欧美激情精品久久久久久蜜臀| 亚洲乱码国产乱码精品精98午夜| 亚洲精品国产日韩| 国产精品美女主播| 久久只有精品| 欧美ab在线视频| 在线一区观看| 校园激情久久| 亚洲激情在线视频| 一本色道久久综合亚洲精品高清 | 国产有码在线一区二区视频| 久久在线91| 欧美激情第8页| 亚洲欧美日韩中文视频| 欧美在线播放高清精品| 极品少妇一区二区| 亚洲乱码国产乱码精品精| 欧美午夜精品久久久| 久久久精品网| 一本久久青青| 亚洲理论电影网| 欧美网站在线| 久久免费国产精品1| 欧美成人精精品一区二区频| 亚洲一区久久久| 久久视频国产精品免费视频在线 | 日韩视频中文字幕| 亚洲一线二线三线久久久| 在线观看中文字幕亚洲| 一区二区三区四区国产| 亚洲第一精品福利| 亚洲一二三级电影| 91久久久在线| 欧美一区三区二区在线观看| 夜夜嗨av色一区二区不卡| 久久国产99| 亚洲综合国产精品| 欧美成人久久| 免费成人网www| 国产精品综合av一区二区国产馆| 欧美电影免费观看| 国产亚洲午夜| 亚洲在线观看视频网站| 日韩一级免费| 免费观看久久久4p| 久久av在线| 欧美午夜精品久久久久久浪潮| 欧美激情精品久久久| 一区国产精品| 午夜宅男久久久| 欧美一区二区三区精品| 欧美色网一区二区| 亚洲三级影院| 日韩一级大片| 欧美精品久久久久久| 亚洲国产导航| 亚洲精品乱码久久久久久| 久久只有精品| 欧美激情精品久久久久| 精品不卡一区| 欧美一区二区在线看| 午夜精品久久久久久久久久久久| 欧美日韩二区三区| 亚洲欧洲视频| 夜夜嗨av一区二区三区中文字幕 | 亚洲欧美日韩综合国产aⅴ| 欧美女同视频| 99国产精品视频免费观看| 亚洲视频电影图片偷拍一区| 欧美精品1区2区| 日韩一级大片| 午夜视频精品| 国产精品一区二区欧美| 欧美一区二区三区播放老司机| 久久久一二三| 亚洲国产精品久久久久久女王| 麻豆精品视频| 亚洲国产高清高潮精品美女| 亚洲伦理精品| 欧美日韩免费看| 亚洲午夜一区| 麻豆免费精品视频| 亚洲美女视频在线免费观看| 亚洲国产欧美久久| 欧美视频一区二区三区在线观看| 亚洲激情在线播放| 国产精品99久久99久久久二8 | 亚洲人成网站777色婷婷| 欧美激情2020午夜免费观看| av成人天堂| 久久精品国产亚洲a| 亚洲夫妻自拍| 欧美日韩系列| 久久精品国产久精国产爱| 亚洲国产精品精华液2区45| 亚洲一区国产视频| 一区二区三区在线视频播放| 欧美黑人多人双交| 欧美一区二区三区视频免费播放 | 夜夜嗨av一区二区三区四区| 国产精品久久久久7777婷婷| 欧美诱惑福利视频| 亚洲精品一二三| 欧美在线视频观看免费网站| 国产美女精品| 欧美日韩国产在线播放| 亚洲欧美韩国| 亚洲日本在线观看| 欧美一级片久久久久久久 | 久久精品国产99| 99re国产精品| 一区在线电影| 国产精品免费网站| 久久久久高清| 一区二区三区产品免费精品久久75 | 久久综合九色九九| 亚洲一区二区少妇| 亚洲国产美女| 国产欧美日韩在线观看| 欧美日韩成人一区二区| 久久琪琪电影院| 在线亚洲国产精品网站| 亚洲电影av在线| 久久综合久久久| 亚洲一区二区三区乱码aⅴ| 亚洲精品久久7777| 亚洲国产影院| 一区在线观看视频| 国内精品久久国产| 国产欧美一区二区精品仙草咪|