team training 5 F 最小生成树

这道题很好,,,

我一开始用的是那种苗条生成树(最大边-最小边的))方式,,这样当然是错了。//突然发现,,这样的学习是比较有收获的, ,我一定要多做这种学习,。,而且要快‘’

Gym-100803F]

看了大佬的代码,太好了,,学到了很多。。

(1)del的技术

(2)用bool f 来重用代码

(3)删掉边的思想。

(4)

 

#include

using namespace std;
#define sf scanf
#define pf printf
#define mem(a,b) memset(a,b,sizeof(a))
#define bug1 printf("bug1\n");
#define N 505
#define M 50050
#define INF 1e9
int u[M],v[M],w[M],id[M];
int fa[N];
bool del[M],vis[M];

bool cmp(int a,int b){
    return w[a]minn){
                cnt++;
                ans+=w[i];
            }
            del[i]=0;
        }
        pf("%d %d\n",cnt,ans);
    }

}


 

 

 

你可能感兴趣的:(team training 5 F 最小生成树)