锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品无码一区二区三区日韩
,一本一道久久精品综合,2021久久精品免费观看http://m.shnenglu.com/yuanyuelang/category/11780.htmlzh-cnWed, 23 Sep 2009 15:40:15 GMTWed, 23 Sep 2009 15:40:15 GMT60- 姣忓欏剁偣闂寸殑鏈鐭礬寰勪箣Floyd-Warshall綆楁硶http://m.shnenglu.com/yuanyuelang/articles/97008.html鍘熻楗跨嫾鍘熻楗跨嫾Wed, 23 Sep 2009 03:35:00 GMThttp://m.shnenglu.com/yuanyuelang/articles/97008.htmlhttp://m.shnenglu.com/yuanyuelang/comments/97008.htmlhttp://m.shnenglu.com/yuanyuelang/articles/97008.html#Feedback0http://m.shnenglu.com/yuanyuelang/comments/commentRss/97008.htmlhttp://m.shnenglu.com/yuanyuelang/services/trackbacks/97008.htmlFloyd-Warshall綆楁硶鐨勫熀鏈濊礬鏄細
1.鐢―[v][w]璁板綍姣忓欏剁偣闂寸殑鏈鐭窛紱?br> 2.瀵規(guī)瘡涓涓浘涓殑欏剁偣錛屼互鍏朵綔涓哄熀鐐規(guī)壂鎻忔瘡涓瀵笵[v][w]錛屾楠屾槸鍚﹂氳繃璇ュ熀鐐瑰彲浠ヤ嬌寰楄繖瀵歸《鐐歸棿鐨勮窛紱誨彉灝忋?br>
鎴戜滑瀹為檯鏄緢瀹規(guī)槗灝卞彲浠ュ啓鍑鴻繖涓畻娉曠殑浠g爜錛?
#define N 100
void Floyd(int dist[N][N],int n)


{
int i,j,k;
for(k=0;k<n;k++)
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(dist[i][k]+dist[k][j]<dist[i][j])
dist[i][j]=dist[i][k]+dist[k][j];
}
鎴戜滑榪橀潰涓翠竴涓繚瀛樿礬寰勭殑闂,濡備綍鏉ュ仛鍛紵
#define N 100
int map[N][N];
void Floyd(int dist[N][N],int path[N][N],int n)


{
int i,j,k;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
dist[i][j]=map[i][j],path[i][j]=0;
for(k=0;k<n;k++)
for(i=0;i<n;i++)
for(j=0;j<n;j++)

if(dist[i][k]+dist[k][j]<dist[i][j])
{
dist[i][j]=dist[i][k]+dist[k][j];
path[i][j]=k;
}

void output(int i,int j)


{
if(i==j) return;
if(path[i][j]==0) cout<<j<<" ";

else
{
output(i,path[i][j]);
output(path[i][j],j);
}
}

]]> - 鍗曟簮鏈鐭礬寰勪箣Dijkstra綆楁硶http://m.shnenglu.com/yuanyuelang/articles/96153.html鍘熻楗跨嫾鍘熻楗跨嫾Mon, 14 Sep 2009 13:21:00 GMThttp://m.shnenglu.com/yuanyuelang/articles/96153.htmlhttp://m.shnenglu.com/yuanyuelang/comments/96153.htmlhttp://m.shnenglu.com/yuanyuelang/articles/96153.html#Feedback0http://m.shnenglu.com/yuanyuelang/comments/commentRss/96153.htmlhttp://m.shnenglu.com/yuanyuelang/services/trackbacks/96153.html鍗曟簮鏈鐭礬寰勶紝瑙e喅鐨勬槸浠涔堥棶棰樺憿錛?br>欏懼悕鎬濅箟錛屽崟婧愯鏄庝粠涓涓簮鍑哄彂錛屽嚭鍙戝埌鍝噷鍛紵涓嶇鍒板摢閲屾垜閮借姹傚緱涓涓渶鐭殑璺緞銆?br>
姣旇緝姝e紡鐨勮娉曪細
瀵逛簬鏈夊悜鍥綠={V,E},甯︽潈錛屾敞鎰廌ijkstra綆楁硶瑕佹眰鎵鏈夌殑鏉冨奸潪璐燂紝
鍋囪鎴戜滑鐨勬簮鏄痵錛屾簮鐐硅鍒拌揪鐨勭偣闆嗗悎鏄疭錛屾垜浠瘡嬈¢夋嫨鍏鋒湁鏈鐭礬寰勪及璁$殑欏剁偣u(u鍦╒-S涓紝騫跺皢u鍔犲叆鍒癝涓紝鐒跺悗姝ゆ椂瑕佸u鎵鏈夌殑鍑鴻竟榪涜澶勭悊錛屾庝箞澶勭悊錛屾垜浠鏈鐭礬寰勶紝鎵浠ユ鏃惰鍒ゆ柇s緇忚繃u鍒拌揪V-S涓殑鐐逛細涓嶄細姣斾笉緇忚繃u鍒拌揪鏉ョ殑灝忥紝鏇存柊鍛靛懙..
閭d箞鎬庝箞鍐欐垚浠g爜鍛紵
1.鎴戜滑闇瑕佷簩緇存暟緇刧raph[][]琛ㄧず鍥撅紝鐢╠istance[]鏁扮粍鏉ヨ〃紺烘簮鐐筕0鍒板叾瀹冮《鐐圭殑鏈鐭礬寰刣istance[v]錛屾垜浠繕瑕佷繚瀛樺叿浣撹礬寰勶紝鎴戜滑鐢╬ath[][]浜岀淮bool鏁扮粍鏉ヨ〃紺?path[1]灝辮〃紺烘簮鐐瑰埌欏剁偣V1鐨勮礬寰勶紝path[1][0,n-1]鏁扮粍閲岄潰鐨勫厓绱犲鏋滀負true琛ㄧずV0鏈夌粡榪囬偅浜涢《鐐瑰埌杈綱1
2.鎴戜滑榪樿鑰冭檻鍒伴《鐐規(guī)槸鍚﹀凡緇忓姞鍒癝涓紝鐢ㄤ竴涓猣lag鏁扮粍鏉ユ爣蹇楅《鐐規(guī)槸鍚﹀凡緇忔眰鐨勬渶鐭礬寰勪簡銆?br>
榪樿鍒嗘竻鏄湁鍚戝浘榪樻槸鏃犲悜鍥撅紝榪欏浜庡叆杈瑰拰鍑鴻竟鍦ㄧ▼搴忓鐞嗙殑鏃跺欒娉ㄦ剰銆?/font>
#define MAXN 100
#define INF 0xfffffff


//娉ㄦ剰graph閲岄潰鐨勬暟鎹紝涓ら《鐐筰鎸囧悜j鏈夎竟錛岄暱涓簉錛屽垯graph[i][j]=r,鍏朵綑鎯呭喌graph涓篒NF錛屽寘鎷琲==j

void dijkstra(int graph[MAXN][MAXN],bool path[MAXN][MAXN],int distance[],int n)


{
int i,j,min,vertex;
bool flag[MAXN];

for(i=0;i<n;i++)
{//鍒濆鍖?/span>
distance[i]=graph[0][i];
flag[i]=false;
for(j=0;j<n;j++) path[i][j]=false;

if(distance[i]<INF)
{ //璺緞蹇呭畾鑷沖皯鏈塿0鍜寁i涓や釜欏剁偣
p[i][0]=true;p[i][i]=true;
}
}

flag[0]=true;
distance[0]=0;//娉ㄦ剰涓瀹氳鍒濆鍖杁istance[0]

for(i=1;i<n;i++)
{
min=INF;
for(j=1;j<n;j++)

if(!flag[j]&&distance[j]<min)
{//鎵懼埌鏈榪戠殑鐐?/span>
min=distance[j];
vertex=j;
}
flag[vertex]=true;
for(j=1;j<n;j++)

if(!flag[j]&&graph[vertex][j]+min<distance[j])
{//濡傛灉鍙互閫氳繃vertex鏇磋繎鐨勮瘽,鏇存柊
distance[j]=graph[vertex][j]+min;
for(int k=0;k<n;k++) path[j][k]=path[vertex][k];
path[j][j]=true;
}
}

}
璇瘋鑰呭姟蹇呰嚜宸變婦涓緥瀛愶紝榪愯鐪嬬湅錛岃繖鏍峰瓙鎵嶈兘鐞嗚В濂界悊瑙g殑鏍規(guī)繁钂傚浐錛岃繕鏈変竴瀹氳鑷繁涓嶆柇鐨勫啓錛岃嚜宸卞鉤甯歌閿葷偧錛屽仛ACM棰樼洰鏃舵渶濂借嚜宸卞啀鍐欎竴閬嶏紝涓嶈澶緷璧栨ā鏉夸簡鍝堝搱銆傘?/span>

]]> - 鏈灝忕敓鎴愭爲涔婸rim綆楁硶http://m.shnenglu.com/yuanyuelang/articles/96141.html鍘熻楗跨嫾鍘熻楗跨嫾Mon, 14 Sep 2009 10:47:00 GMThttp://m.shnenglu.com/yuanyuelang/articles/96141.htmlhttp://m.shnenglu.com/yuanyuelang/comments/96141.htmlhttp://m.shnenglu.com/yuanyuelang/articles/96141.html#Feedback0http://m.shnenglu.com/yuanyuelang/comments/commentRss/96141.htmlhttp://m.shnenglu.com/yuanyuelang/services/trackbacks/96141.html鏈灝忕敓鎴愭爲鏄浘璁虹殑涓涓噸瑕侀儴鍒嗭紝瑙e喅榪欎釜闂鐨勭畻娉曚富瑕佹湁Kruskal綆楁硶鍜孭rim綆楁硶銆?br>
鏈灝忕敓鎴愭爲:欏懼悕鎬濅箟鏄竴媯墊爲錛岃鏍戞槸鍥句腑鏉冨煎拰鏈灝忕殑銆?br>
榪欑瘒鏂囩珷浠嬬粛Prim綆楁硶錛孠ruskal綆楁硶璇峰弬闃?a title=鏈灝忕敓鎴愭爲涔婯ruskal綆楁硶 href="http://m.shnenglu.com/yuanyuelang/articles/96060.html">鏈灝忕敓鎴愭爲涔婯ruskal綆楁硶銆?br>
Prim綆楁硶鐨勪富瑕佹濊礬錛?br>1.鍥綠={V,E},V琛ㄧず鑺傜偣闆嗭紝E琛ㄧず杈歸泦錛屽垵濮嬫椂灝哣0浠嶸涓嬁鍑猴紝鏀懼叆絀洪泦鍚圲涓紝U={V0}錛孴(E)絀?br>2.閫夋嫨鍜岄泦鍚圲鏈夎繛鎺ョ殑涓旀渶榪戠殑鐐筕x錛堝湪V涓級錛屾斁鍏錛孶={V0,Vx},騫跺皢杈瑰姞鍏ュ埌T(E)涓?br>3.閲嶅絎簩姝ワ紝鐩村埌U=V
寰堟槑鏄鵑渶瑕乶-1姝ワ紝n涓哄浘鐨勮妭鐐規(guī)暟銆?br>
鐜板湪鎴戜滑灝辨槸瑕佸浣曟妸瀹冨彉鎴愪唬鐮佺殑闂浜嗐?br>1.瀛樺偍闂錛屾垜浠渶瑕佷竴涓簩鍏冩暟緇刧raph涓嬫爣瀛樻斁鑺傜偣錛屾暟緇勫煎瓨鏀炬潈鍊箋傛瘮濡?1,2)鏈夎竟錛屾潈鍊間負3錛屽垯graph[1][2]=3,鍚屾椂graph[2][1]=3錛屾病鏈夎竟鐨勭偣鐢↖NF錛堟棤絀峰ぇ錛夎〃紺哄挴銆?br>2.濡備綍鍒ゆ柇鍜屾渶榪戠殑鐐癸紝鐢變簬姣忎竴嬈¤繘鏉ラ兘浼氭敼鍙樻儏鍐碉紝鎵浠ユ瘡嬈¢兘瑕佹洿鏂幫紝鎴戜滑鐢ㄤ竴涓竴鍏冩暟緇刼pt[n]鏉ヨ〃紺猴紝鏁扮粍涓嬫爣琛ㄧず鑺傜偣鍙鳳紝鍊艱〃紺鴻鑺傜偣鍒癠鐨勬渶鐭窛紱匯傝浣忥紝鍔犲叆鍒癠闆嗗悎鐨勭偣鏄笉鐢ㄥ啀綆″畠鐨勪簡錛屾墍浠ワ紝鎴戜滑榪樿璁劇疆涓涓暟緇刦lag[n]錛屾潵璁劇疆鏍囧織浣嶏紝鐪嬫槸鍚﹀凡緇忓姞鍏ュ埌U闆嗗悎浜嗐?br>3.榪欐牱鐨勮瘽澶у姛涔熷氨鍛婃垚浜嗭紝涓鑸氨浼氬啓浜嗗惂銆傚鏋滆淇濆瓨鍚勪釜杈圭殑璇濓紝榪樿娣誨姞涓涓暟緇刲ine[n]鏉ヨ〃紺鴻妭鐐瑰埌U鐨勬渶鐭窛紱誨埌搴曟槸榪炴帴U涓摢涓涓妭鐐圭殑銆?br>
鐪嬬湅浠g爜錛屽垎鏋愬垎鏋愬惂銆傘傝浣忓緢閲嶈鐨勶紝鑷繁涓句釜渚嬪瓙鐪嬬湅銆傛渶鍚庝竴瀹氳鐔熺粌鎺屾彙鍏跺師鐞嗭紝騫朵笖蹇熺殑鍐欏嚭浠g爜銆?br>
#define MAXN 100
#define INF 0xfffffff

int result_s[MAXN],result_e[MAXN];//淇濆瓨杈?/span>

void prim(int graph[MAXN][MAXN],int opt[],int n)


{
int i,j,min,vertex錛宭ine[n];
bool flag[n];

for(i=0;i<n;i++)
{ //鍒濆鍖?/span>
opt[i]=graph[0][i];
line[i]=0;
flag[i]=false;
}
flag[0]=true;

for(i=1;i<n;i++)
{
min=INF;

for(j=1;j<n;j++)
{

if(!flag[j]&&opt[j]<min)
{//閫夋嫨鏈浼樼偣
min=opt[j];
vertex=j;
}
}
flag[vertex]=true; //鍔犲叆鍒癠闆嗗悎
result_s[i]=line[vertex];//淇濆瓨
result_e[i]=vertex;

for(j=1;j<n;j++)
{//鏇存柊
if(!flag[j]&&graph[vertex][j]<opt[j])
opt[j]=graph[vertex][j];
line[j]=vertex;
}
}
}

鍥犱負浠g爜鏄嚜宸卞綋鍦哄啓鍑烘潵錛屽啓鍑烘潵鍜屽師鏉ユ紜唬鐮佺浉姣旇緝浜嗭紝濡傛灉璇昏呭彂鐜版湁閿欙紝榪樻湜鎸囨銆?br>鎴戞兂鎴戜滑灝辨槸瑕侀敾鐐艱繖縐嶅啓浠g爜鐨勮兘鍔涳紝涓嶈兘澶緷闈犳ā鏉匡紝涓嶇劧蹇樺緱蹇?br>娉ㄦ剰錛氭渶鍚庣粨鏋滈兘鐭ラ亾浜嗭紝opt[]淇濆瓨鐨勬槸鏈灝忕敓鎴愭爲鐨勯夊叆鐨勫悇涓竟鐨勬潈鍊鹼紝result_s[]鍜宺esult_e淇濆瓨浜嗗埌搴曟槸鍝簺鐐圭粍鎴愮殑鏈灝忕敓鎴愭爲銆?br>

]]> - 鏈灝忕敓鎴愭爲涔婯ruskal綆楁硶http://m.shnenglu.com/yuanyuelang/articles/96060.html鍘熻楗跨嫾鍘熻楗跨嫾Sun, 13 Sep 2009 13:18:00 GMThttp://m.shnenglu.com/yuanyuelang/articles/96060.htmlhttp://m.shnenglu.com/yuanyuelang/comments/96060.htmlhttp://m.shnenglu.com/yuanyuelang/articles/96060.html#Feedback0http://m.shnenglu.com/yuanyuelang/comments/commentRss/96060.htmlhttp://m.shnenglu.com/yuanyuelang/services/trackbacks/96060.html鏈灝忕敓鎴愭爲鏄浘璁虹殑涓涓噸瑕侀儴鍒嗭紝瑙e喅榪欎釜闂鐨勭畻娉曚富瑕佹湁Kruskal綆楁硶鍜孭rim綆楁硶銆?br>
鏈灝忕敓鎴愭爲:欏懼悕鎬濅箟鏄竴媯墊爲錛岃鏍戞槸鍥句腑鏉冨煎拰鏈灝忕殑銆?br>
鎴戜滑鍏堟潵浠嬬粛Kruskal綆楁硶錛孭rim綆楁硶璇峰弬闃?a title=鏈灝忕敓鎴愭爲涔婸rim綆楁硶 href="http://m.shnenglu.com/yuanyuelang/articles/96141.html">鏈灝忕敓鎴愭爲涔婸rim綆楁硶
璇ョ畻娉曠殑鍩烘湰鎬濊礬錛氳椽蹇冿紝濡備綍璐績鍛紵
瀹冪殑璐績鍑嗗垯鏄細
1.姣忔浠庡墿涓嬬殑杈逛腑閫夋嫨涓涓笉浼氫駭鐢熺幆璺屼笖鏉冨兼渶灝忕殑杈瑰姞鍏ュ埌宸茬粡閫夋嫨濂界殑杈圭殑闆嗗悎涓?br>2.瀹冮渶瑕乪姝ョ殑鎿嶄綔錛宔琛ㄧず鍥劇殑杈規(guī)暟錛屾垜浠彲浠ユ寜鏉冨兼帓濂藉簭鍚庯紝瀵規(guī)瘡涓鏉¤竟榪涜閫夋嫨錛屽鏋滃姞鍏ュ埌宸茬粡閫夋嫨濂界殑杈逛腑浼氫駭鐢熷洖璺殑鐜拌薄錛屽氨涓嶈浜嗐傘傘傚惁鍒欏姞鍏ュ埌宸茬粡閫夋嫨濂界殑杈逛腑銆?br>3.鎴戜滑榪橀渶鐢ㄥ埌騫舵煡闆嗙殑鎬濇兂錛屾湁鍏沖茍鏌ラ泦鐨勪粙緇嶏紝璇鋒煡鐪嬫垜鐨勫彟涓綃囧崥鏂?涓嶇浉浜ら泦鍚堟暟鎹粨鏋?/a>
4.澶嶆潅搴︼細O(ElgE)錛屽叾涓璄涓哄浘鐨勮竟鏁?br>
鎺ヤ笅鏉ユ垜浠紩鐢≒OJ涓婄殑涓涓粡鍏擱鐩潵鍒嗘瀽錛岄鐩綉鍧http://acm.pku.edu.cn/JudgeOnline/problem?id=1861
棰樼洰澶ф剰鏄細棰樼洰緇欏嚭鐨勬槸鍥劇殑欏剁偣鍜屾墍鏈夎竟鐨勯泦鍚堬紝瑕佹眰杈撳嚭鐨勬槸鏈灝忕敓鎴愭爲鐨勮竟
鎴戜滑鏉ョ湅涓嬫簮鐮佸暒錛?br>
#include<iostream>
using namespace std;
#include<algorithm>
#include <memory.h>

#define MAXEDGE 15001//鏈澶ц竟鏁?/span>
#define MAXNODE 1001 //鏈澶ц妭鐐規(guī)暟

int p[MAXNODE],rank[MAXNODE];//鐢ㄤ簬涓嶇浉浜ら泦鍚?/span>
int start[MAXEDGE],end[MAXEDGE],weight[MAXEDGE],VNum,ENum;//鍒嗗埆涓鴻竟鐨勮搗鐐癸紝緇堢偣錛屾潈閲嶏紝鑺傜偣鏁板拰杈規(guī)暟
int result_s[MAXEDGE],result_e[MAXEDGE];//鍒嗗埆涓哄瓨鍌ㄦ渶灝忕敓鎴愭爲鐨勮搗鐐癸紝緇堢偣
int max_weight,id[MAXEDGE];

void make_set(int x)


{
p[x]=x;
rank[x]=0;
}

int find_set(int x)


{
if(p[x]!=x)
p[x]=find_set(p[x]);
return p[x];
}

void Union(int x,int y)


{
x=find_set(x);
y=find_set(y);
if(rank[x]>rank[y])
p[y]=x;
else if(rank[x]<rank[y])
p[x]=y;
else if(rank[x]==rank[y])

{
p[x]=y;
rank[y]++;
}
}

bool cmp(int i,int j)//鐢ㄤ簬sort鍑芥暟


{
return weight[i]<weight[j];
}
void Kruskal()


{
int i,min,index=0,count=0,k=0;
max_weight=0;
for(i=1;i<=VNum;i++)
make_set(i);
sort(id,id+ENum,cmp);//瀵規(guī)墍鏈夎竟榪涜鎺掑簭錛屾敞鎰廼d鏁扮粍鐨勫鐢?/span>

while(true)
{
min=id[index++];

if(find_set(start[min])!=find_set(end[min]))
{ //瀵規(guī)瘡鏉¤竟榪涜澶勭悊錛屽鏋滆搗鐐瑰拰緇堢偣涓嶅湪鍚屼竴闆嗗悎鍚堝茍涔?/span>
Union(start[min],end[min]);
result_s[k]=start[min];//淇濆瓨緇撴灉
result_e[k++]=end[min];
count++;
if(max_weight<weight[min])
max_weight=weight[min];
}
if(count==VNum-1) break;//褰撹竟鏁扮瓑浜庤妭鐐規(guī)暟-1鐨勬椂鍊欒〃紺哄凡緇忓畬鎴?/span>
}
}





int main()


{
int i;
cin>>VNum>>ENum;

for(i=0;i<ENum;i++)
{
cin>>start[i]>>end[i]>>weight[i];
id[i]=i;
}
Kruskal();
cout<<max_weight<<endl<<VNum-1<<endl;
for(i=0;i<VNum-1;i++)
cout<<result_s[i]<<" "<<result_e[i]<<endl;
return 0;
}


]]>
久久婷婷五月综合97色
|
久久精品国产99久久久古代|
97久久精品无码一区二区天美|
狠狠色丁香久久婷婷综合图片|
欧美伊人久久大香线蕉综合69|
久久人人爽人人爽AV片|
久久se精品一区二区影院|
精品久久久久久国产牛牛app|
成人a毛片久久免费播放|
国产精品免费久久久久久久久|
国产精品青草久久久久福利99|
久久久免费观成人影院|
四虎国产精品免费久久|
综合久久一区二区三区|
精品久久久久久国产|
久久精品国产亚洲精品2020|
久久国产精品久久久|
久久国产成人|
伊人久久大香线蕉综合影院首页|
亚洲精品乱码久久久久久按摩|
久久亚洲精品成人av无码网站|
97久久香蕉国产线看观看|
国产成人无码精品久久久免费
|
久久九九久精品国产免费直播|
久久久久久久精品成人热色戒|
久久精品无码专区免费东京热
|
久久综合伊人77777|
伊人久久大香线蕉无码麻豆|
久久精品国产AV一区二区三区|
波多野结衣中文字幕久久|
久久久久18|
精品久久无码中文字幕|
久久精品国产99久久久香蕉|
久久亚洲精品无码aⅴ大香|
国内精品伊人久久久久|
亚洲伊人久久综合中文成人网|
久久99国产综合精品免费|
欧美久久亚洲精品|
青青热久久综合网伊人|
久久人人添人人爽添人人片牛牛
|
久久亚洲欧美日本精品|