日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

POJ1358 Agri-Net

發(fā)布時(shí)間:2025/3/8 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 POJ1358 Agri-Net 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目鏈接

?

就是裸的最小生成樹,復(fù)習(xí)一下。

prim算法:

G=(V,E),V是點(diǎn)集,E是邊集

假設(shè)T=(U,TE)是最小生成樹。U,TE初始化為空

?

首先從V中任取一點(diǎn) 假設(shè)取V1,然后U={V1},只要U是V的真子集,就從那些一個(gè)端點(diǎn)在T中,一個(gè)端點(diǎn)在T外的邊中,找一條最短邊。一直下去,直到找到n-1條邊

?

找邊使用 堆優(yōu)化,復(fù)雜度(ElogV) 鄰接表復(fù)雜度(V2

?

1 #include<cstdio> 2 #include<vector> 3 #include<queue> 4 #include<cstring> 5 using namespace std; 6 const int maxn=110; 7 const int inf=0x3f3f3f3f; 8 9 struct node{ 10 int v,dis; 11 node(){} 12 node(int _v,int _dis){ 13 v=_v; 14 dis=_dis; 15 } 16 bool operator<(const node &b) const { 17 return dis>b.dis; 18 } 19 }; 20 21 int n,dis[maxn]; 22 vector<node> G[maxn]; 23 bool vis[maxn]; 24 25 void prim() { 26 int ans=0,num=0; 27 priority_queue<node> pq; 28 for(int i=0;i<n;i++) { 29 vis[i]=false; 30 dis[i]=inf; 31 } 32 pq.push(node(0,0)); 33 node f; 34 while(num<n&&!pq.empty()) { 35 do{ 36 f=pq.top(); 37 pq.pop(); 38 }while(vis[f.v]&&!pq.empty()); 39 if(!vis[f.v]) { 40 ans+=f.dis; 41 vis[f.v]=true; 42 num++; 43 for(int i=0;i<G[f.v].size();i++) { 44 int v=G[f.v][i].v; 45 if(!vis[v]) { 46 if(dis[v]>G[f.v][i].dis) { 47 dis[v]=G[f.v][i].dis; 48 pq.push(node(v,dis[v])); 49 } 50 } 51 } 52 } 53 } 54 if(num<n) printf("-1\n");//因?yàn)檫@里記錄的是點(diǎn)的個(gè)數(shù)。不是邊 55 else printf("%d\n",ans); 56 } 57 58 int main() { 59 while(~scanf("%d",&n)) { 60 memset(G,0,sizeof(G)); 61 for(int i=0;i<n;i++) { 62 for(int j=0;j<n;j++) { 63 int x; 64 scanf("%d",&x); 65 if(x) G[i].push_back(node(j,x)); 66 } 67 } 68 prim(); 69 } 70 }

?

krusual算法:

將圖G中的邊按權(quán)值從小到大選取,使選取的不與生成樹構(gòu)成回路。直到n-1條邊為止

判斷回路就用并查集搞一下。

?

1 #include<cstdio> 2 #include<vector> 3 #include<queue> 4 #include<cstring> 5 #include<algorithm> 6 using namespace std; 7 const int maxn=110; 8 const int inf=0x3f3f3f3f; 9 10 int n; 11 struct Edge{ 12 int u,v,dis; 13 Edge(){} 14 Edge(int _u,int _v,int _dis) { 15 u=_u; 16 v=_v; 17 dis=_dis; 18 } 19 bool operator <(const Edge &b) const { 20 return dis<b.dis; 21 } 22 }; 23 24 vector<Edge> edge; 25 26 int fa[maxn]; 27 28 int Find(int x) { 29 if(fa[x]==-1) return x; 30 else return fa[x]=Find(fa[x]); 31 } 32 33 void Union(int x,int y) { 34 int fx=Find(x); 35 int fy=Find(y); 36 if(fx!=fy) { 37 fa[fx]=fy; 38 } 39 } 40 41 int main() { 42 while(~scanf("%d",&n)) { 43 memset(fa,-1,sizeof(fa)); 44 edge.clear(); 45 for(int i=0;i<n;i++) { 46 for(int j=0;j<n;j++) { 47 int x; 48 scanf("%d",&x); 49 if(x&&j<i) edge.push_back(Edge(i,j,x)); 50 } 51 } 52 sort(edge.begin(),edge.end()); 53 int num=0,ans=0; 54 for(int i=0;i<edge.size();i++) { 55 int u=edge[i].u,v=edge[i].v,dis=edge[i].dis; 56 if(Find(u)!=Find(v)) { 57 num++; 58 ans+=dis; 59 Union(u,v); 60 } 61 } 62 if(num==n-1) printf("%d\n",ans); 63 else printf("-1\n"); 64 } 65 }

?

轉(zhuǎn)載于:https://www.cnblogs.com/ACMerszl/p/10667146.html

總結(jié)

以上是生活随笔為你收集整理的POJ1358 Agri-Net的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品刘玥久久一区 | 午夜少妇影院 | 美国色视频| 久久国内精品 | 少妇做爰免费视频播放 | 国产精品第8页 | av久久久 | 日韩激情电影在线 | 亚洲乱强伦 | 丰满少妇一区二区三区 | 日韩va亚洲va欧美va久久 | 97se亚洲国产综合在线 | 日本高清视频一区 | xxx日韩| 一卡二卡三卡在线 | 国产无遮挡又黄又爽 | 日日摸夜夜添狠狠添欧美 | 久久精品网 | 夜夜躁很很躁日日躁麻豆 | 国产一区二区三区四区 | 日韩a视频 | 91精品久久久久久 | 欧美福利精品 | 成人污污视频在线观看 | 亚洲伦理自拍 | 福利电影在线播放 | 日本学生初尝黑人巨免费视频 | 亚洲看片网 | 黄色一级视频片 | 97se亚洲国产综合在线 | 91官网视频 | 久久久久99精品成人片三人毛片 | 亚洲精品久久 | 日韩一级精品 | 欧美激情五月 | 天天舔天天 | av免费网站观看 | 日日操天天操夜夜操 | a国产精品 | 久久国产99 | 亚洲精品激情 | 午夜视频导航 | 国产黄色精品网站 | 成人免费区一区二区三区 | 久久久久99精品成人片三人毛片 | 国产大学生自拍视频 | 绝顶高潮videos合集 | 99热8| 精品乱人伦一区二区三区 | 黄色av三级 | 丰满人妻在公车被猛烈进入电影 | 黄色正能量网站 | 伊人天天干 | 亚洲a视频 | 成人黄色一区二区三区 | 国产免费又黄又爽又色毛 | av看片在线 | 99re6热在线精品视频播放 | 国产精品探花在线观看 | 欧美成人a交片免费看 | 福利视频一区二区三区 | 国产成人免费在线观看 | 岛国av免费 | 国模无码大尺度一区二区三区 | 中文字幕在线视频播放 | 国产片网址| 一级二级三级黄色片 | 黑人毛片网站 | 日本午夜精品理论片a级app发布 | 人妻久久一区二区 | 国产高清精品软件丝瓜软件 | 综合欧美亚洲 | 亚洲私人影院 | 国产午夜精品一区二区理论影院 | 中文一区二区在线观看 | 国产激情久久久 | 国产在线观看免费视频今夜 | av88av| 奇米影视四色777 | 中文字幕中文在线 | 五月综合久久 | 人妻无码久久精品人妻 | 吊侵犯の奶水授乳羞羞漫画 | 欧美一级专区 | 亚洲第一狼人区 | 日韩激情网站 | 欧美色悠悠 | 亚洲一二三区在线 | 欧美老熟妇乱xxxxx | 午夜精品久久久久久久蜜桃 | 国产毛片毛片毛片毛片毛片 | 欧美狠狠干| 黑人100部av解禁片 | 韩国中文字幕在线观看 | 国产美女作爱视频 | 国产欧美视频一区二区 | 又黄又爽一区二区三区 | 中文字幕mv | 欧美a一级片 |