洛谷 網路流24題 深海機械人問題

2021-10-08 11:09:32 字數 1186 閱讀 7927

初見安~這裡是傳送門:洛谷p4012 [網路流24題] 深海機械人問題

題意很簡單,多個點出發多個機械人,每條路徑上有價值,但是只能收集一次路徑可以被多個機械人走,求最大可收集價值。

網路流建圖很明顯就如題意建網格圖。但是對於每條邊我們要整兩條,一條容量為1,費用為價值,一條容量為inf,費用為0。換言之,一條拿來收集標本,一條拿來過路。

源點連向每個機械人出發的點,終點連向匯點。

還是比較簡單,事後跑最大費用流就可以了。

#include#include#include#include#include#include#define maxn 1005

#define maxm 100005

using namespace std;

typedef long long ll;

const int inf = 0x3f3f3f3f;

int read()

while(isdigit(ch)) x = (x << 1) + (x << 3) + ch - '0', ch = getchar();

return x * f;

}struct edge e[maxm];

int head[maxn], k = 0;

void add(int u, int v, int w, int f) ; head[u] = k++;

e[k] = ; head[v] = k++;

}int n, m, a, b, s, t;

int id(int x, int y) ;

int dis[maxn], pre[maxn], incf[maxn], ans = 0;

bool vis[maxn];

bool spfa()

} }if(dis[t] == inf) return false; return true;

}void update()

ans += 1ll * incf[t] * dis[t];

}signed main()

連續水了幾篇最近做的題……

迎評:)

——end——

網路流24題 深海機械人問題

網路流24題大多需要spj,所以需要乙個有spj的oj,本系列 均在www.oj.swust.edu.cn測試通過 這道題其實和數字梯形的第三個規律挺像的 點和路徑均可重合 唯一的差別就是這道題的路徑權值只能計算一次,那怎麼辦呢,其實不難,我們只要將容量為inf的邊的權值修改為0,在此基礎上再加一條...

深海機械人問題 網路流24題

思路 和方格取數差不多的一道題 只是輸入有點噁心 然而他好像提示了怎麼輸出 之後就是建圖標準最大費用最大流了 不知道為什麼spfa的最大流t了乙個點 難道說資料這麼喪心病狂嗎 zkw的話倒是50ms就跑完了 code 1 include 2 define dbg x cout x x endl34 ...

網路流24題20 深海機械人問題

題面戳我 這裡推薦一下相關的題目 我可以說是雙倍經驗題嗎 luogu2045 方格取數加強版其實還是有點區別的啦 這個題是說邊上面有邊權所以就不需要拆點了嗷。每條邊可以採集一次,那麼肯定要連一條費用為收益容量為1的邊。那這條邊就不可以走了嗎?顯然不是。所有還要連一條費用為0容量為 inf 的邊。所以...