學習筆記或者說叫做演算法板子吧 匈牙利演算法

2021-08-15 07:01:39 字數 846 閱讀 9056

匈牙利演算法,就是乙個匈牙利數學(edmonds)家發明的演算法,其中我們取名一般取作hungary,也就是匈牙利,最好不要寫成了hungry。

這是用來求二分圖最大匹配的,功能也比較單一,而理論時間複雜度好像比dinic還要高,不過一般賊快,肯定比dinic快的,因為這是專門的演算法。

難點肯定不是二分圖匹配演算法上,而是二分圖匹配牽扯到網路流什麼的,變形比較多。

**實現比較簡單,所以要學一學。

其實就是不停地匹配,能匹配就匹配,不能匹配嘗試強行匹配,如果x集合的乙個點想匹配的y集合的那個點,就讓y集合那個店的原配看看能不能讓一讓,實際上也是一種找曾廣路的方法。

理論時間複雜度o(nm)

嗯。。就看這一段肯定是看不懂的,不過網上有很多資料部落格,講得特別好,我應該再努力也不會講得更好,所以自己去搜吧。

int np,first[maxn];

struct edgee[maxm];

void add(int u,int v)

; first[u]=np;

}int mx[maxn],my[maxn],vis[maxn];

bool dfs(int i)}}

return

false;

}int hungary()

}return ans;

}int main()

ans=hungary();

}

**解釋:

1、mx,my代表的是當前結點的配對結點,沒有配對則為0.

2、主框架中的n代表的是x集合中元素個數。

3、vis是針對y集合元素的,因此不用標記x集合元素,而且dfs過程中當前結點總是x集合。

筆記2 3 字典或者說json

1.字典 是鍵值對,乙個鍵乙個值,用大括號包過起來的資料!2.有鍵就能獲取到值!用鍵來訪問值!若訪問不存在的鍵,則會報錯!如果想要獲取到不確定的值用get獲得方法!get方法很重要!age info.get age age age 鍵不存在,所以age為none type age age info....

linux服務配置IP或者說可以遠端連線

切換目錄 cd etc sysconfig network scriptsls檢視當前目錄下的東西 找到ipcfg 開頭的,而且不是iocfg lo,而上圖就是那個ifcfg ens33。則進行vi編輯 vi ifcfg ens33進入之後的內容是 type ethernet proxy metho...

jdk8 方法引用 或者說雙冒號

還是本著先學習的態度看看這個特性長什麼樣。然後看看到底代表了什麼。一般用在什麼地方。第一種 static方法的引用 就是你如果有個類有個靜態方法。你可以直接寫 containingclass staticmethodname 但是我有個疑問。這麼寫了之後。這個整體表示的是啥。如果照以前contain...