原创 HDU2612(Find a way)搜索-兩次BFS

/***************************************************** 題目大意: Y和M要在KFC約會,地圖上有多個KFC,求在哪個KFC兩人所走總距離最短; 算法思想: 兩個人到同一點的和最短,

原创 PKU3013(Big Christmas Tree)-最短路徑-SPFA

/* *題目大意: *給定v個點的重量,並給定e條邊,每條邊具有一個權值; *在e條邊中選v-1條邊使這v個點成爲一棵樹; *定義這棵樹的代價爲(每棵子樹節點重量和其子樹根到父節點的邊的權值的乘積)之和; *求以1爲根節點的樹

原创 生成樹計數-Matrix-Tree定理

/* *算法引入: *給定一個無向圖G,求它生成樹的個數t(G); * *算法思想: *(1)G的度數矩陣D[G]是一個n*n的矩陣,並且滿足:當i≠j時,dij=0;當i=j時,dij等於vi的度數; *(2)G的鄰接矩陣A

原创 WHU1463(Come to a spring outing)揹包問題-DP

/************************************************** 題目地址: http://acm.whu.edu.cn/land/problem/detail?problem_id=1463 題目

原创 BZOJ1016([JSOI2008]最小生成樹計數)Kruskal+Matrix_Tree定理

/* *題目地址: *http://www.lydsy.com/JudgeOnline/problem.php?id=1016 * *題目大意: *給出一個簡單無向加權圖,求這個圖中有多少個不同的最小生成樹; *由於不同的最小

原创 PKU1679(The Unique MST)判斷最小生成樹的唯一性-次小生成樹

/* *題目大意: *給出一個連通無向圖,判斷它的最小生成樹是否唯一; *如果唯一,輸出生成樹的大小,否則輸出"Not Unique!"; * *算法思想: *本題可以嘗試求與最小生成樹權值相等的樹是否存在; *但是更好的思

原创 HDU4547(CD操作)LCA+Tarjan離線算法

/* *題目大意: *題目爲天朝文字,不多說; * *算法思想: *題目很明顯要求的是一個LCA問題; *即詢問從A到B的需要的步數,即首先從A到達A和B的最近公共祖先需要的步數+1就OK了; * *算法步驟: *由於是

原创 HDU2767(Proving Equivalences)-有向圖的強連通問題+Tarjan算法

/**************************************************** 算法引入: 在有向圖G中,如果兩個頂點間至少存在一條路徑,稱兩個頂點強連通; 如果有向圖G的每兩個頂點都強連通,稱G是一個強連通圖

原创 Floyd算法求最小環

/* *算法引入: *求一個圖G中的最小環路的樸素算法爲:每次找到一條邊,刪除了求這兩點之間的最短路徑; *若能求出,則這條最短路徑與原來的邊構成一個環,不過時間複雜度略高; * *算法思想; *Floyd算法是按照頂點的編號

原创 PKU3522(Slim Span)-求差值最小的生成樹

題目鏈接 /* *題目大意: *一個簡單圖,n個點,m條邊; *要求一顆生成樹,使得其最大邊與最小邊的差值是所有生成樹中最小的,輸出最小的那個差值; *算法分析: *枚舉最小邊,用kruskal求生成樹,不斷更新差值得到最優

原创 次小生成樹

/* *算法引入: *設G=(V,E,w)是連通的無向圖,T是圖G的一棵最小生成樹; *如果有另一棵樹T1,滿足不存在樹T’,ω(T’)<ω(T1),則稱T1是圖G的次小生成樹; * *算法思想: *鄰集的概念:由T進行一次可

原创 HDU4612(Warm up)2013多校2-圖的邊雙連通問題(Tarjan算法+樹形DP)

/** 題目大意: 給你一個無向連通圖,問加上一條邊後得到的圖的最少的割邊數; 算法思想: 圖的邊雙連通Tarjan算法+樹形DP; 即通過Tarjan算法對邊雙連通縮圖,構成一棵樹,然後用樹形DP求最長鏈,連接首尾即可;剩下的連通塊即

原创 HDU4607(Park Visit)2013多校1-樹的直徑

/*************************************************** 題目大意: N個點和N-1條邊,保證整個圖連通(因爲邊的限制,所以不可能形成環); 每條邊長度都爲1,問要到達k個點的最短路徑(起點

原创 PKU3259(Wormholes)判定負權環-Bellman_Ford算法

/**************************************************** 題目大意: John的農場裏N塊地,地之間有M條路,W個蟲洞; 蟲洞是一條單向路,會在你離開之前把你傳送到目的地; 就是當你過去的

原创 PKU1511(Invitation Cards)最短路徑-鄰接表+SPFA算法

/****************************************************** 題目大意: 弱菜英語又是渣渣,題意是對着測試數據連猜帶蒙出來的; 在一個有向圖中,要求頂點1到其他的所有頂點往返的總共的最小花