題目大意:給出一張有向圖,求出平均值最小的環
思路一:第一種算法就是dfs找環,每找到一個環,求出其平均值。然而別看n<50,想造出這樣的數據也是分分鐘的事情。
思路二:bellmanford算法就是爲帶權的圖而生的。bellmanford的更新條件比較苛刻,不像dfs那麼隨意地找。
對於平均值最小,xx值最x,我們通常使用二分的方法,假設這個最小值是x,讓每個邊都減去這個值。
如果x大於等於所求的平均值的話,那麼一定會存在一個負環。
【細節:再判負環而不是求路徑的時候要所有節點入隊列】