1. 程式人生 > >[ZJU 2676]Network Wars(分數規劃+最小割)

[ZJU 2676]Network Wars(分數規劃+最小割)

【題目大意】:

求無向圖邊權平均值最小的割集~

【題目分析】:

一看到平均值就應該敏銳的覺察到與分數規劃有關,這個問題也不例外。

這還是一個0/1分數規劃問題,因為每個邊只能取或是不取(廢話……)

然後東西就和上一篇的東西一樣,還是把邊權改下,然後求最小割。

這裡有幾個小技巧需要注意:

1、改完了的負權邊直接進割集,因為這樣一定更小~~(P.s.分數規劃這點就是悲劇,就是二分完了答案之後還不算,還要最優~)

2、網路流不必要拆點,看了cai0715神牛拆了點,但是後來發現沒有必要。

3、最好每一次都重建圖,避免錯誤

4、網路流的演算法中只有加減,所以堅決不能考慮精度問題!!

5、改用精度的東西也要用,東西要開就開double,real是殘廢……

實際上寫出來並不是很麻煩,就是需要注意的地方很多,又是一個浪費了我一下午的題啊……

【程式碼】:

相關推薦

[ZJU 2676]Network Wars(分數規劃+)

【題目大意】: 求無向圖邊權平均值最小的割集~ 【題目分析】: 一看到平均值就應該敏銳的覺察到與分數規劃有關,這個問題也不例外。 這還是一個0/1分數規劃問題,因為每個邊只能取或是不取(廢話……) 然後東西就和上一篇的東西一樣,還是把邊權改下,然後求最小割。 這裡有幾個小技巧

【ZOJ】2676 Network Wars 01分數規劃+

題目分析:01分數規劃+最小割。因為要求r = sigma(x*c/x*k)(x取0或1)最小,那麼不妨設g(r) = x*c - r*x*k。由01規劃的性質,我們可知:g(r)=0時是最優解,當g(r)<0時r可以繼續減小,調整二分上界,當g(r)>0時

ZOJ-2676-Network Wars(01分數規劃+

while(  ( t=DFS(S,T,INF) ) >=eps)沒加括弧wa到哭 //#pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstring> #incl

bzoj 3232 圈地遊戲 —— 01分數規劃+建圖(大權閉合子圖)

++ tar 答案 題目 zoj ems eps string sid 題目:https://www.lydsy.com/JudgeOnline/problem.php?id=3232 心煩意亂的時候調這道題真是...越調越氣,就這樣過了一晚上... 今天再認真看看,找出幾

[Bzoj3232]圈地遊戲(分數規劃+/spfa判負環)

Description DZY家的後院有一塊地,由N行M列的方格組成,格子內種的菜有一定的價值,並且每一條單位長度的格線有一定的費用。 DZY喜歡在地裡散步。他總是從任意一個格點出發,沿著格線行走直到回到出發點,且在行走途中不允許與已走過的路線有任何相交或觸碰(出發點除外)。記這條

洛谷2494 [SDOI2011]保密 (分數規劃+

自閉一早上 分數規劃竟然還能被卡精度 首先假設我們已經知道了到每個出入口的時間(代價) 那我們應該怎麼算最小的和呢? 一個比較巧妙的想法是,由於題目規定的是二分圖。 我們不妨通過最小割的形式。 表示這個基地必須從兩個口之一進,從

【POJ3155】Hard Life 分數規劃+

連結: #include <stdio.h> int main() { puts("轉載請註明出處[輾轉山河弋流歌 by 空灰冰魂]謝謝"); puts("網址:blog.csdn.net/vmurder/article/det

【POJ3155】Hard Life-01分數規劃+

測試地址:Hard Life 題目大意:有一個無向圖,要從裡面選出一個子圖,使得邊數和點數的比最大,輸出一個合法方案。 做法:本題需要用到01分數規劃+最小割。 首先要求比值最大,我們立刻想到01分數規劃的套路,二分比值,這樣就變成判定性問題:存不存在一個

poj1966Cable TV Network——無向圖(大流)

一個 can struct div ret memcpy AI ostream () 題目:http://poj.org/problem?id=1966 把一個點拆成入點和出點,之間連一條邊權為1的邊,跑最大流即最小割; 原始的邊權賦成inf防割; 枚舉源點和匯點,直接相鄰

zoj 2676(+01分數規劃)

Network Wars Time Limit: 5 Seconds      Memory Limit: 32768 KB      Special Judge Network of Byteland consists of n servers, connected

zoj 2676 Network Wars(01分數規劃+網路流)

題目連結 求一個割集 使得割集的平均邊權最小 具體的解答 請看Amber論文《最小割模型在資訊學競賽中的應用》 #include <cstdio> #include <iostream> #include <cstring> #inclu

0-1分數規劃 網路流 大流 zoj2676 network

【題目大意】 選取一邊集E,使得邊集的平均值最小 注意邊集中必須包含割(題目要求) 於是 分數規劃,二分. 對於二分的每一個 mid , 將 weight <= mid的 新增入臨時解集,並對於剩下的網路(weight -= mid)求一個最小割,然後所求的集合便是

[POJ 2728]Desert King(0-1分數規劃/優比率生成樹)

eat ice finall nec clu bool ann channels try Description David the Great has just become the king of a desert country. To win the respec

【bzoj1690/Usaco2007 Dec】奶牛的旅行——分數規劃 優比率環

splay ++ 開車 小數 單位 固定 i+1 ros 農場 Description 作為對奶牛們辛勤工作的回報,Farmer John決定帶她們去附近的大城市玩一天。旅行的前夜,奶牛們在興奮地討論如何最好地享受這難得的閑暇。 很幸運地,奶牛們找到了一張詳細的城市地

POJ 1966 Cable TV Network 【經典問題】

問題 desc als ron network har struct dfs return Description n個點的無向圖,問最少刪掉幾個點,使得圖不連通 n<=50 m也許可以到完全圖? Solution 最少,割點,不連通,可以想到最小割。 發現,圖不

poj1966 Network

題意 給定一張無向圖,求去掉多少個點,可以使圖不連通。 題解 最小割 去掉一個點的代價為1,隨便列舉兩個點,就有了S和T,求最小割掉幾個點使S和T不連通? 看似很最小割模板,但是最小割割的是邊啊!所以我們要進行點邊轉換。 借用lyd一張圖: 把每個點拆成入點x和出點x’,先

POJ ~ 3621 ~ Sightseeing Cows (01分數規劃 + 短路)

題意 給一個有向圖,點數為L,邊數為P,然後輸入L個點的點權F[i],接下來輸入P條邊(u->v邊權為w),求一個點權和比邊權和最大的環,求這個比值。 題解 假設點權和為X,邊權和為Y,X/Y=ans,求ans最大。 u->v邊權為w的邊,我們建邊F[

動態規劃-路徑和

給定一個包含非負整數的 m x n 網格,請找出一條從左上角到右下角的路徑,使得路徑上的數字總和為最小。 說明:每次只能向下或者向右移動一步。 示例: 輸入: [ [1,3,1], [1,5,1], [4,2,1] ] 輸出: 7 解釋:

Cable TV Network UVA - 1660(拆點法+)

傳送門 題意:給定一個n個點的無向圖,求它的點聯通度,即最少刪除多少個點,使得圖不連通。 題解:可以想到用最小割來做,把一個點拆成i和i+N,中間連一條容量為1的邊,然後無向邊連INF的容量,最後列舉i+N與j求出最小值即可,注意每次列舉都要重新建圖,因為跑過一次後就成0了。 附上程式碼

動態規劃--調整代價

91. Minimum Adjustment Cost 【題目】 Given an integer array, adjust each integers so that the difference of every adjacent integers are n