- //纯属贴模板
- #define N 1001
- #define inf (1<<31)
- int mat[N][N],pre[N],d[N];
- int prim(int n)
- {
- int i,j,k,res=0;bool v[N];
- for(i=0;i<n;i++) d[i]=inf,pre[i]=-1,v[i]=false;
- for(i=d[0]=0;i<n;i++)
- {
- for(j=0,k=-1;j<n;j++) if(!v[j]&&{k==-1||d[j]<d[k]}) k=j;
- for(j=0,v[k]=true,res+=d[k];j<n;j++) if(!v[j]&&mat[k][j]<d[j]) d[j]=mat[pre[j]=k][j];
- }
- return res;
- }
prim
最新推荐文章于 2024-11-10 17:17:25 发布