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

hdu 3371 connect the citys 縮點+最小生成樹

題意:
給出N個點,若干邊的帶權無向圖,然后若干個點已經相連了,求使得整個圖聯通的最小代價。
解法:
這題一般做法是縮點+最小生成樹,但是由于這題的特殊性,可以不用顯式的縮點,用并查集將已經聯通的點合并后直接使用kustral算法構造最小生成樹,至于判斷圖是否聯通,一遍DFS判斷點數是否相等即可。
附帶嗎
  1 import java.util.*;
  2 import java.io.*;
  3 public class Main {
  4 
  5     /**
  6      * @param args
  7      */
  8     static int n=0,m=0,k=0;
  9     static int pre[]=new int[501];
 10     static int buffer[]=new int[501];
 11     static int g[]=new int[501],nxt[]=new int[50001],v[]=new int[50001],c=0
 12     static boolean used[]=new boolean[501];
 13     static class edge implements Comparable<edge>
 14     {
 15         int a,b,v;
 16         public int compareTo(edge pos)
 17         {
 18             return v-pos.v;
 19         }
 20     }
 21     static edge data[]=new edge[25001];
 22     static int find(int pos)
 23     {
 24         if(pre[pos]==pos) return pos;
 25         else
 26         {
 27             pre[pos]=find(pre[pos]);
 28             return pre[pos];
 29         }
 30     }
 31     static void insert(int s,int e)
 32     {
 33         v[c]=e;
 34         nxt[c]=g[s];
 35         g[s]=c++;
 36     }
 37     static void dfs(int pos)
 38     {
 39         if(used[pos]) return;
 40         used[pos]=true;
 41         for(int p=g[pos];p!=-1;p=nxt[p])
 42             dfs(v[p]);
 43     }
 44     public static void main(String[] args) throws IOException{
 45         StreamTokenizer in=new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
 46         in.nextToken();
 47         int test=(int)in.nval;
 48         for(int i=0;i<data.length;i++)
 49             data[i]=new edge();
 50         while((test--)!=0)
 51         {
 52             
 53             in.nextToken();
 54             n=(int)in.nval;
 55             in.nextToken();
 56             m=(int)in.nval;
 57             in.nextToken();
 58             k=(int)in.nval;
 59             for(int i=0;i<m;i++)
 60             {
 61                 in.nextToken();
 62                 data[i].a=(int)in.nval;
 63                 in.nextToken();
 64                 data[i].b=(int)in.nval;
 65                 in.nextToken();
 66                 data[i].v=(int)in.nval;
 67             }
 68             for(int i=1;i<=n;i++)
 69             {
 70                 pre[i]=i;
 71                 g[i]=-1;
 72             }
 73             for(int i=0;i<k;i++)
 74             {
 75                 in.nextToken();
 76                 int t=(int)in.nval;
 77                 for(int j=0;j<t;j++)
 78                 {
 79                     in.nextToken();
 80                     buffer[j]=(int)in.nval;
 81                 }
 82                 for(int j=1;j<t;j++)
 83                     pre[find(buffer[0])]=find(buffer[j]);
 84             }
 85             int total=0;
 86             Arrays.sort(data, 0, m);
 87             c=0;
 88             for(int i=0;i<m;i++)
 89             {
 90                 insert(find(data[i].a),find(data[i].b));
 91                 insert(find(data[i].b),find(data[i].a));
 92                 
 93             }
 94 
 95             Arrays.fill(used,false);
 96             int sum=0;
 97             for(int i=1;i<=n;i++)
 98                 used[find(i)]=true;
 99             for(int i=1;i<=n;i++)
100                 if(used[i]) sum++;
101             Arrays.fill(used,false);
102             dfs(find(1));
103             for(int i=1;i<=n;i++)
104                 if(used[i]) sum--;
105             if(sum!=0)
106             {
107                 System.out.println(-1);
108                 continue;
109             }
110             
111             for(int i=0;i<m;i++)
112                 if(find(data[i].a)!=find(data[i].b))
113                 {
114                     pre[find(data[i].a)]=data[i].b;
115                     total+=data[i].v;
116                 }
117             System.out.println(total);
118         }
119 
120     }
121 
122 }
123 

posted on 2010-11-27 17:17 yzhw 閱讀(514) 評論(0)  編輯 收藏 引用 所屬分類: graph

<2010年11月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

導航

統計

公告

統計系統

留言簿(1)

隨筆分類(227)

文章分類(2)

OJ

最新隨筆

搜索

積分與排名

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲欧美国产精品va在线观看| 久久国产免费| 亚洲欧美影音先锋| 亚洲视频在线观看三级| 亚洲美女视频在线免费观看| 亚洲精品日韩激情在线电影 | 久久米奇亚洲| 久久久无码精品亚洲日韩按摩| 久久精品夜色噜噜亚洲aⅴ| 久久久久91| 欧美精品亚洲精品| 国产精品二区影院| 黄色欧美日韩| 亚洲精品一区中文| 亚洲一区二区日本| 久久久99精品免费观看不卡| 久久久91精品国产一区二区精品| 久久亚洲精品伦理| 欧美激情1区2区| 亚洲一区二区三区免费在线观看| 久久精品国产久精国产一老狼| 欧美激情bt| 欧美一区久久| 欧美激情影院| 亚洲国产精品成人综合色在线婷婷 | 欧美日本一区| 国产精品久久久久9999高清| 国产精品最新自拍| 亚洲国产精品成人| 亚洲永久免费视频| 久久综合久久综合久久综合| 亚洲二区免费| 99这里有精品| 久久手机免费观看| 国产精品一区二区a| 亚洲国产欧美在线人成| 亚洲欧美视频在线观看| 最新高清无码专区| 久久精品夜夜夜夜久久| 国产精品男女猛烈高潮激情| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲欧美日韩另类精品一区二区三区| 欧美jizz19性欧美| 亚洲欧美视频在线观看| 欧美精品国产一区二区| 精品动漫3d一区二区三区免费| 亚洲一二三四区| 亚洲高清在线观看| 欧美在线91| 国产欧美va欧美va香蕉在| 一区二区高清在线| 亚洲激情专区| 麻豆精品国产91久久久久久| 在线一区二区三区做爰视频网站| 欧美a级一区二区| 一区久久精品| 蜜桃av久久久亚洲精品| 欧美一区影院| 国产精品黄色| 亚洲私人影院在线观看| 亚洲高清免费| 欧美激情1区2区3区| 亚洲国产精品久久久久| 免费在线看一区| 久久久美女艺术照精彩视频福利播放| 老司机成人在线视频| 亚洲第一综合天堂另类专| 久久五月天婷婷| 久久麻豆一区二区| 国内成人自拍视频| 久久亚洲私人国产精品va| 久久国产天堂福利天堂| 国产午夜精品一区二区三区欧美| 欧美一区二视频在线免费观看| 亚洲视频免费| 国产色综合久久| 国产美女精品在线| 久久精品国产亚洲高清剧情介绍| 欧美一级专区免费大片| 国产亚洲一区在线播放| 免费在线成人av| 欧美成人国产一区二区| 一区二区三区产品免费精品久久75 | 一本色道久久综合亚洲精品高清| 亚洲激情校园春色| 欧美先锋影音| 久久国产精品99国产| 久久精品男女| 99综合在线| 亚洲一区二区三区在线观看视频| 国产麻豆成人精品| 老司机凹凸av亚洲导航| 欧美成人情趣视频| 亚洲欧美日韩在线综合| 欧美在线一区二区| 日韩视频在线观看免费| 亚洲午夜三级在线| 在线观看视频亚洲| 日韩午夜剧场| 国模私拍一区二区三区| 亚洲免费激情| 狠狠色丁香婷婷综合影院| 亚洲人成网站影音先锋播放| 国产精品国产馆在线真实露脸 | 狼狼综合久久久久综合网| 欧美顶级艳妇交换群宴| 欧美亚洲综合另类| 免费成年人欧美视频| 亚洲欧洲av一区二区| 欧美成人精品高清在线播放| 亚洲欧美综合精品久久成人| 欧美成人免费观看| 欧美在线观看视频一区二区| 欧美精品日韩三级| 久久一区亚洲| 国产伦精品一区二区三区免费迷| 欧美激情aⅴ一区二区三区| 国产精品夜夜夜| 99国产欧美久久久精品| 亚洲成人在线免费| 亚洲欧美日韩在线观看a三区| 亚洲精品一级| 久久精品国产一区二区电影| 亚洲一区影院| 欧美大片一区二区| 欧美ab在线视频| 国产一区二区日韩精品欧美精品| 一区二区三区四区五区视频| 亚洲精品视频一区二区三区| 久久九九精品| 久久精品99无色码中文字幕| 国产精品jizz在线观看美国| 欧美国产综合| 欧美99在线视频观看| 美乳少妇欧美精品| 国产在线精品一区二区夜色| 亚洲尤物精选| 亚洲欧美日本另类| 国产精品xvideos88| 日韩一本二本av| 欧美日韩国产精品专区| 亚洲精品乱码久久久久久蜜桃麻豆| 一区在线播放视频| 久久久久免费视频| 两个人的视频www国产精品| 激情文学一区| 久久在精品线影院精品国产| 美女脱光内衣内裤视频久久影院 | 久久久水蜜桃| 亚洲欧洲一二三| 欧美国产精品专区| 亚洲国产精品精华液网站| 亚洲乱码久久| 欧美日本亚洲| 亚洲在线观看免费视频| 欧美一区2区三区4区公司二百| 国产精品无码专区在线观看| 亚洲一区在线直播| 亚洲人成毛片在线播放| 欧美日韩www| 亚洲视频中文| 久久综合激情| 亚洲欧洲一二三| 欧美性久久久| 欧美一区二区日韩一区二区| 欧美成人69av| 一区二区三区视频观看| 国产精品亚洲片夜色在线| 久久99在线观看| 亚洲国产精品电影在线观看| 午夜视频精品| 在线不卡a资源高清| 欧美美女bbbb| 欧美一级视频| 亚洲欧洲日韩综合二区| 欧美亚洲一级片| 一区二区亚洲精品| 欧美日韩你懂的| 午夜精品美女久久久久av福利| 欧美大尺度在线| 亚洲一区久久久| 亚洲区免费影片| 国产麻豆精品在线观看| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲另类在线视频| 久久精品中文字幕免费mv| 99精品国产在热久久下载| 国产日本欧美一区二区三区| 欧美精品一线| 久久精品国产96久久久香蕉| 99视频一区二区| 欧美成人午夜激情视频| 欧美在线国产| 在线亚洲+欧美+日本专区| 亚洲高清免费| 国产欧美日本| 国产精品老牛| 欧美色视频日本高清在线观看| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲综合丁香|