我是個對電腦科學有興趣的學生,我會貼上我的學習歷程及生活心情,也請大大們多多指教。 :)

2014年5月10日 星期六

[POJ] 3680 Intervals

題目網址: http://poj.org/problem?id=3680

題意: 給定N個帶權重Wi的開區間,求開區間重疊不超過K個的最大權重總和。



解法: 先將給定區間的值離散化,將離散化後的每個值當成一個點,且額外增加一起點S、一終點T,然後在(S,V1),(V1,V2)...(VN,T)建立有向邊且容量為K權重為0,接著在每個開區間(Vi,Vj)建立有向邊容量為1權重為-Wi,接著以此圖求最小費用最大流,輸出負的最小費用即可。

TAG: MinCostMaxFlow, 離散化

注意: 網路流的題目都要非常注意點、邊的數目所需分配的空間。

程式碼:

沒有留言:

張貼留言

任何意見都樂意傾聽