太空飛行計畫 網路流

2022-05-12 20:10:30 字數 1324 閱讀 9638

經典的最大權閉合子圖問題;

這種問題的求解思路是:

建圖:將s連邊向權值為正的點,通過依賴關係連線權值為正的點和權值為負的點,權值為負的點連邊向t;

求c=最小割,a=所有權值為正的節點權值和,ans=a-c;

證明過程網上是有的;

用dinic敲的,但是用的還不熟練;

1 #include2 #include3 #include4 #include

5 #include6 #include7 #include8

using

namespace

std;

9const

int maxn=200;10

const

int inf=1000000000;11

const

int s=0,t=120;12

struct

nodee[maxn*10

];15

int linkk[maxn],len=0,n,m,g[maxn][maxn],cnt[maxn],w[maxn],sum=0;16

void print(int x)

17void print(int x,int y)

18void insert(int x,int y,int

flow)

24bool flag=0;25

intread()

29if(ch=='

\n')flag=1;30

return

x;31}32

void

init()39}

40for(int i=1;i<=m;i++)scanf("

%d",&w[i]);

41for(int i=1;i<=n;i++)

42for(int j=1;j<=cnt[i];j++)

43 insert(i,g[i][j]+n,inf);

44for(int i=1;i<=m;i++)insert(i+n,t,w[i]);45}

46int q[maxn],tail=0,level[maxn],head=0;47

bool

bfs()57}

58}59return level[t]>0;60

}61int find(int x,int

flow)71}

72}73if(!maxflow)level[x]=-1;74

return

maxflow;75}

76void

work()

83int

main()

view code

網路流24題 太空飛行計畫

題目 洛谷p2762 解法 考慮網路流建模。設定點 1 1 n role presentation style position relative n n表示每種儀器,點n 1 n 1 n m n m 表示每個專案,超源 s s 超匯t role presentation style positio...

網路流24題 太空飛行計畫

問題描述 w 教授正在為國家航天中心計畫一系列的太空飛行。每次太空飛行可進行一系列商業性實驗而獲取利潤。現已確定了乙個可供選擇的實驗集合e 和進行這些實驗需要使用的全部儀器的集合i 實驗ej 需要用到的儀器是i的子集rj i。配置儀器ik 的費用為ck 美元。實驗ej 的贊助商已同意為該實驗結果支付...

太空飛行計畫

太空飛行計畫 題目描述 輸入格式 2209.in 檔案第1行有2 個正整數m和 n。m是實驗數,n是儀器數。接下來的 m行,每行是乙個實驗的有關資料。第乙個數贊助商同意支付該實驗的費用 接著是該實驗需要用到的若干儀器的編號。最後一行的 n個數是配置每個儀器的費用。1 n,m 50 輸出格式 2209...