zoukankan      html  css  js  c++  java
  • 最大权森林

     http://poj.org/problem?id=3723

    分析:因为,图可能不连通,求所有最大生成树的总和最大,即最大权森林。

    prime算法会超内存。

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<algorithm>
     4 #define _Clr(x, y) memset(x, y, sizeof(x))
     5 #define INF 0x3f3f3f3f
     6 #define N 20010
     7 using namespace std;
     8 
     9 struct Edge
    10 {
    11     int u, v, ca;
    12     bool operator < (const Edge &a) const
    13     {
    14         return ca > a.ca;
    15     }
    16 }edge[N*3];
    17 int n, m;
    18 int bleg[N];
    19 
    20 int find(int x)
    21 {
    22     int y = x;
    23     while(y != bleg[y])
    24         y = bleg[y];
    25     while(x != bleg[x])
    26     {
    27         int px = bleg[x];
    28         bleg[x] = y;
    29         x = px;
    30     }
    31     return y;
    32 }
    33 
    34 int Kruskal(int r)
    35 {
    36     int ans=0;
    37     for(int i=0; i<N; i++)
    38         bleg[i] = i;
    39     for(int i=0; i<r; i++)
    40     {
    41         int a = find(edge[i].u), b = find(edge[i].v);
    42         if(a != b)
    43         {
    44             ans += edge[i].ca;
    45             bleg[a] = b;
    46         }
    47     }
    48     return ans;
    49 }
    50 int main()
    51 {
    52     int T, m, r;
    53     int a, b, c;
    54     //freopen("date.in","r", stdin);
    55     scanf("%d", &T);
    56     while(T--)
    57     {
    58         scanf("%d%d%d", &n, &m, &r);
    59         for(int i=0; i<r; i++)
    60         {
    61             scanf("%d%d%d", &a, &b, &c);
    62             a++, b++;
    63             b += n;
    64             edge[i].u=a, edge[i].v=b, edge[i].ca=c;
    65         }
    66         n += m;
    67         sort(edge, edge+r);
    68         int ans = Kruskal(r);
    69         ans = 10000 * n - ans;
    70         printf("%d
    ", ans);
    71     }
    72     return 0;
    73 }
    View Code
  • 相关阅读:
    struts2 constant详解
    大图片上传(ImageIO,注意有的图片不能上传时因为他是tiff格式)
    Spring提供的iBatis的SqlMap配置
    2013-7-31hibernate二级缓存
    2013-7-30。。。。难得闲
    POI导出大量数据的简单解决方案
    Tomcat优化详细2
    Tomcat优化详细1
    Tomcat优化方案
    java链表实现
  • 原文地址:https://www.cnblogs.com/khan724/p/4443089.html
Copyright © 2011-2022 走看看