poj1789 最小生成樹 prim

2022-08-20 04:00:13 字數 767 閱讀 4001

水題。。。

題目大意:

用乙個7位的字串代表乙個編號,兩個編號之間的distance代表這兩個編號之間不同字母的個數。乙個編號只能由另乙個編號「衍生」出來,代價是這兩個編號之間相應的distance,現在要找出乙個「衍生」方案,使得總代價最小,也就是distance之和最小。

很容易想到,將每兩個頂點間的distance求出作為邊權,將題目轉化為最小生成樹問題。由於是稠密圖,所以用prim演算法。

**:

#include#include

#include

using

namespace

std;

int i,j,k,n,m,x,a[2001][2001],ans,minn,d[2001],tot,c[2001

];bool b[2001

];char s[2001][7

];int

main()

c[1]=1;d[1]=0;k=1;b[1]=1

;

while(tot}

b[x]=1

; c[++tot]=x;

ans+=d[x];

d[x]=0

; k++;

}printf(

"the highest possible quality is 1/%d.\n

",ans);

scanf("%d

",&n);

}return0;

}

poj 1789 最小生成樹)

題意 給出n個卡車,每個卡車的型別是七個字元組成的,一種卡車可以從另一種卡車派生來的,代價是兩種卡車間型別不同字元的個數,求出這n中卡車派生的最小代價,n種車有一 種是開始就有的,n 1種是派生出來的。思路 因為剛開始有一種卡車,所以就是加n 1條把所有車連起來,就是最小生成樹了。include i...

POJ 1789 最小生成樹 Prim

題目描述 給予n個長度為7的字串,定義兩字串間的代價為同一位置不同的字元的個數,現在要聯通所有的字串求最小代價。思路 一開始使用krustal演算法,然而因為是稠密圖導致tle,換用prim。krustal tle include include include include define n 2...

POJ 1789最小生成樹(kruscal演算法)

這題其實是密的,比較適合用prim演算法,但是我現在想練習一下自己的並查集運用,所以只用了kruscal演算法 題意就是字串中,串與串比較,其中一串是拿來做參考,其他如果其中的字元改變最小,就是最佳的 就是 繼承 比如 4 aaaaaaa baaaaaa abaaaaa aabaaaa第一行作為參考...