POJ 3723 Conscription (最大生成树)

2015-11-21 01:04:07 · 作者: · 浏览: 6

?
最大生成树。。跟最小生成树原理一样。只是排序的顺序改变了而已。
代码如下:

#include 
   
     #include 
    
      #include 
     
       #include 
      
        #include 
       
         #include 
        
          #include
          #include 
          
            #include 
           
             using namespace std; #define LL __int64 #define pi acos(-1.0) //#pragma comment(linker, /STACK:1024000000) const int mod=1e9+7; const int INF=0x3f3f3f3f; const double eqs=1e-9; const int MAXN=40000+10; int bin[30000], cnt; struct node { int u, v, w; }edge[60000]; void add(int u, int v, int w) { edge[cnt].v=v; edge[cnt].w=w; edge[cnt++].u=u; } bool cmp(node f1, node f2) { return f1.w>
f2.w; } int find1(int x) { return bin[x]==x?x:bin[x]=find1(bin[x]); } int krus(int n) { int i, f1, f2; sort(edge,edge+cnt,cmp); int ans=0; for(i=0;i