cogs727 網路流24題 太空飛行計畫

2021-08-02 20:03:51 字數 1707 閱讀 2451

w 教授正在為國家航天中心計畫一系列的太空飛行。每次太空飛行可進行一系列商業性實驗而獲取利潤。現已確定了乙個可供選擇的實驗集合

e=,和進行這些實驗需要使用的全部儀器的集合

i=。實驗ej 

需要用到的儀器是

i的子集rj

∈i。配置儀器ik 

的費用為ck 

美元。實驗ej 

的贊助商已同意為該實驗結果支付pj 

美元。w教授的任務是找出乙個有效演算法,確定在一次太空飛行中要進行哪些實驗並因此而配置哪些儀器才能使太空飛行的淨收益最大。這裡淨收益是指進行實驗所獲得的全部收入與配置儀器的全部費用的差額。

【程式設計任務】

對於給定的實驗和儀器配置情況,程式設計找出淨收益最大的試驗計畫。

【資料輸入】

第1行有2個正整數m和n(m,n <= 100)。m是實驗數,n是儀器數。接下來的m行,每行是乙個實驗的有關資料。第乙個數贊助商同意支付該實驗的費用;接著是該實驗需要用到的若干儀器的編號。最後一行的n個數是配置每個儀器的費用。

【結果輸出】

第1行是實驗編號;第2行是儀器編號;最後一行是淨收益。

【輸入檔案示例】shuttle.in

2 3

10 1 2

25 2 3

5 6 7

【輸出檔案示例】shuttle.out

1 2

1 2 3

17

求最大權閉合圖 詳解見胡伯濤**《最小割模型在資訊學競賽中的應用》
**:
#include #include #include #include #include #include #include using namespace std;

const int inf = 0x3f3f3f3f;

int ans;

int sum;

int n,m;

int tot = 1;

int c[147];

int head[147],nxt[1147],to[1147],wei[1147];

int text[147][147];

bool used[147];

string str;

stringstream ss;

int que[147];

void add(int,int,int);

bool bfs();

int dinic(int,int);

int main()

}for(int i=1;i<=m;++i)

int flag;

while(bfs())

}for(int i=2;i<=n+1;++i)

if(c[i])

putchar(10);

for(int i=1;i<=m;++i)

if(used[i])

printf("%d ",i);

putchar(10);

printf("%d",sum-ans);

return 0;

}void add(int from,int tp,int value)

bool bfs()

}while(h < t);

return c[n+m+2];

}int dinic(int place,int low)

}return false;

}

COGS 727 網路流24題 太空飛行計畫

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

COGS461 網路流24題 餐巾

問題描述 乙個餐廳在相繼的n天裡,第i天需要ri塊餐巾 i l,2,n 餐廳可以從三種途徑獲得餐巾。1 購買新的餐巾,每塊需p分 2 把用過的餐巾送到快洗部,洗一塊需m天,費用需f分 f 3 把餐巾送到慢洗部,洗一塊需n天 n m 費用需s分 s在每天結束時,餐廳必須決定多少塊用過的餐巾送到快洗部,...

Cogs 729 網路流24題 圓桌聚餐

網路流24題 圓桌聚餐 輸入檔案 roundtable.in 輸出檔案 roundtable.out 評測外掛程式 時間限制 1 s 記憶體限制 128 mb 問題描述 假設有來自m 個不同單位的代表參加一次國際會議。每個單位的代表數分別為 ri i 1,2,3 m 會議餐廳共有n張餐桌,每張餐桌可...