f - teen girl squad
題目主要是最小樹形圖, 用朱劉演算法求解。
#include
#include
#include
#include
using
namespace
std;
const
int inf = 0x3f3f3f3f;
const
int maxn = 1005;
struct nede
edge[maxn*maxn];
int pre[maxn], visit[maxn], id[maxn];
double in[maxn];
int zhuliu(int root, int n, int m)
}for(int i=0; i//遍歷每乙個節點
memset(id, -1, sizeof(id));//記錄環的標號
memset(visit, -1, sizeof(visit));//是否訪問過
int tn = 0;//環數
in[root] = 0;//根節點清零
for(int i=0; i//遍歷每個節點,求最短弧的集合
if(id[v]==-1&&v!=root)
id[v] = tn++;}}
if(tn==0)//沒有環出現,則找到了最小樹形圖
break;//跳出
for(int i=0; i//收縮有向環
}for(int i=0; i// int u = edge[i].u;
edge[i].u = id[edge[i].u];
edge[i].v = id[edge[i].v];
if(edge[i].u!=edge[i].v)
edge[i++].cost -= in[v];
else
swap(edge[i], edge[--m]);
}n = tn;
root = id[root];
}return res;
}int main()
int res = zhuliu(0, n, m);
if(res==-1)
printf("case #%d: possums!\n", t);
else
printf("case #%d: %d\n", t, res);
}return
0;}
C 結構體 朱
在沒有結構體之前,資料的組織依靠的是 變數 陣列,但是後來需要的變數多了,所含變數的資料型別也都有不同,而陣列結局的問題中所需要變數的資料型別是一樣的,此時結構體就能夠解決這種資料型別不同的問題。結構體是乙個集合,集合中包含很多元素,這些元素的資料型別可以相同,也可以不同,所以 結構體是一種資料封裝...
明仁宗朱高熾
明仁宗朱高熾 朱高熾是明成祖朱棣的長子,他只活了48歲,不算高壽,而且,他在位僅僅八個月,是有明一代在位時間第二短的皇帝 第一是崇禎的老爹明光宗,只有乙個月 而做為太子卻有22年的歷史。因此,他的很多事情都被歷史湮沒了,以致於很少有人把他和他的父親朱棣 兒子宣宗朱瞻基聯絡起來,也不會有人想到,如果,...
學習筆記 朱劉演算法
樹形圖 最小樹形圖問題 找出總邊權和最小的樹形圖 朱劉演算法解決最小樹形圖問題。對於除根外每個點,找出該點入邊中權值最小的邊,把權加到答案中。判斷選出的邊是否存在環。若無環,退出,找到最小樹形圖,若有環,繼續執行步驟 3。將所有環縮點,構造乙個新圖,對於舊圖的每條邊 對於每個環而言,至少去掉一條邊。...