HDU 1350 最小邊覆蓋

2021-09-26 08:23:09 字數 945 閱讀 1441

將某個人的行程視為二分圖中的乙個節點,用結構體記錄每個節點的資訊(起點時間,終點時間,位置),然後對於每個節點,看它結束後能否提前趕到其他節點,能的話就加邊。

然後就用二分圖匹配,算出最小邊覆蓋就可以了。

為什麼是最小邊覆蓋,因為乙個計程車走一條邊,囊括所有節點的最少的邊數就是我們要求的最少計程車數。

記得空間要開兩倍,我開小了給wa了。

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

typedef

long

long ll;

const

int maxn =

505;

vector <

int> g[

2* maxn]

;int match[

2* maxn]

;bool used[

2* maxn]

;int m;

struct node

a[maxn]

;bool

dfs(

int u)

}return

false;}

inthungary()

}return ans;

}int

main()

for(

int i =

1; i <= m; i++

)for

(int i =

1; i <= m; i++)}

}printf

("%d\n"

, m -

hungary()

);}return0;

}

樹上最小邊覆蓋問題

1077.皇宮看守 對於一條邊,可以由父節點覆蓋,或者子節點覆蓋,f u 0 表示該節點不放士兵,f u 1 表示該節點放士兵.當該節點不放時,只有由所有子節點放的情況轉移 當該節點放時,可以由子節點放或不放的情況轉移而來 includeusing namespace std const int n...

HDU 6311 尤拉路 最小邊覆蓋

原題 題意 對於乙個圖 不一定聯通 最少需要多少筆 路徑 能覆蓋所有的邊,還有輸出路徑。尤拉路,對於乙個聯通的圖,需要max 1,度數為奇數的點 2 筆就能畫完。這題,對於每個聯通塊,把度數為奇數的點,按 對 加邊,只留兩個點做起點和終點,應該是這樣理解 加的邊就是 虛 邊。補完圖後,跑乙個dfs,...

poj 3020 最小邊覆蓋與最大匹配 匈牙利演算法

做了一些題之後感覺自己的知識儲備真的太少了,很多東西都不知道 題目大意 乙個矩形中,有n個城市 現在這n個城市都要覆蓋無線,若放置乙個基站,那麼它至多可以覆蓋相鄰的兩個城市。問至少放置多少個基站才能使得所有的城市都覆蓋無線?解題思路 思前想後,依稀可以認為是一道求二分圖的最小路徑覆蓋問題 注意不是最...