P4012 深海機械人問題

2022-07-20 04:33:13 字數 2156 閱讀 8437

深海資源考察探險隊的潛艇將到達深海的海底進行科學考察。

潛艇內有多個深海機械人。潛艇到達深海海底後,深海機械人將離開潛艇向預定目標移動。

深海機械人在移動中還必須沿途採集海底生物標本。沿途生物標本由最先遇到它的深海機械人完成採集。

每條預定路徑上的生物標本的價值是已知的,而且生物標本只能被採集一次。

本題限定深海機械人只能從其出發位置沿著向北或向東的方向移動,而且多個深海機械人可以在同一時間佔據同一位置。

用乙個 \(p\times q\) 網格表示深海機械人的可移動位置。西南角的座標為 \((0,0)\),東北角的座標為 \((q,p)\) 。

給定每個深海機械人的出發位置和目標位置,以及每條網格邊上生物標本的價值。

計算深海機械人的最優移動方案, 使深海機械人到達目的地後,採集到的生物標本的總價值最高。

檔案的第 \(1\) 行為深海機械人的出發位置數 \(a\),和目的地數 \(b\) 。

第 \(2\) 行為 \(p\) 和 \(q\) 的值。

接下來的 \(p+1\) 行,每行有 \(q\) 個正整數,表示向東移動路徑上生物標本的價值,行資料依從南到北方向排列。

再接下來的 \(q+1\) 行,每行有 \(p\) 個正整數,表示向北移動路徑上生物標本的價值,行資料依從西到東方向排列。

接下來的 \(a\) 行,每行有 \(3\) 個正整數 \(k,x,y\),表示有 \(k\) 個深海機械人從 \((x,y)\) 位置座標出發。

再接下來的 \(b\) 行,每行有 \(3\) 個正整數 \(r,x,y\) ,表示有 \(r\) 個深海機械人可選擇 \((x,y)\) 位置座標作為目的地。

輸出採集到的生物標本的最高總價值.

1 1

2 21 2

3 45 6

7 28 10

9 32 0 0

2 2 2

42
\(1\leq p,q\leq 15\)

\(1\leq a\leq 4\)

\(1\leq b\leq 6\)

s向所有機械人起點連邊

所有機械人終點向t連邊

每個點向右向下分別連兩條邊

一條容量為 1 ,邊權為圖中邊權

另一條容量為 inf,邊權為零

這樣保證了權值只能獲得一次,又保證了這條邊可以被多個人走

#include #include #include #include #include #include #define _ 0

#define ll long long

#define int long long

inline ll in()

const int maxn = 105050;

struct node

void *operator new (size_t)

};const int inf = 0x7fffffff;

int n, m, p, q, s, t;

typedef node* nod;

bool vis[maxn];

nod head[maxn], road[maxn];

int dis[maxn], change[maxn], id[55][55];

std::queuev;

inline void add(int from, int to, int can, int dis)

inline void link(int from, int to, int can, int dis)

inline bool spfa()

} }return change[t] != inf;

}inline void mcmf()

} printf("%lld", cost);

}signed main()

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

for(int i = 0; i <= p; i++)

for(int j = 0; j <= q; j++)

mcmf();

return 0 ;

}

洛谷P4012 深海機械人問題 費用流

深海資源考察探險隊的潛艇將到達深海的海底進行科學考察。潛艇內有多個深海機械人。潛艇到達深海海底後,深海機械人將離開潛艇向預定目標移動。深海機械人在移動中還必須沿途採集海底生物標本。沿途生物標本由最先遇到它的深海機械人完成採集。每條預定路徑上的生物標本的價值是已知的,而且生物標本只能被採集一次。本題限...

luogu P4012 深海機械人問題

費用流問題,每個樣本選一次,就連一條capacity為1,權為給定的值,因為可以重複走,再連capacity為無窮,權為0的邊,再一次連線給定的出點和匯點即可 includeusing namespace std define lowbit x x x typedef long long ll co...

LuoguP4012 深海機械人問題 費用流

深海資源考察探險隊的潛艇將到達深海的海底進行科學考察。潛艇內有多個深海機械人。潛艇到達深海海底後,深海機械人將離開潛艇向預定目標移動。深海機械人在移動中還必須沿途採集海底生物標本。沿途生物標本由最先遇到它的深海機械人完成採集。每條預定路徑上的生物標本的價值是已知的,而且生物標本只能被採集一次。本題限...