這道題的建邊倒是不難,但是要想到的是要去建乙個從一點到另一點乙個流量為inf但是費用為0的邊,而有價值的邊的時候,我們建立的邊就是流量為1,並且費用為負價值的邊。
#include #include #include #include #include #include #include #include #include #include #include #include #define lowbit(x) ( x&(-x) )
#define pi 3.141592653589793
#define e 2.718281828459045
#define inf 0x3f3f3f3f
#define half (l + r)>>1
#define lsn rt<<1
#define rsn rt<<1|1
#define lson lsn, l, mid
#define rson rsn, mid+1, r
#define ql lson, ql, qr
#define qr rson, ql, qr
#define myself rt, l, r
using namespace std;
typedef unsigned long long ull;
typedef long long ll;
const int s = 0, maxn = 407, maxe = 4e3 + 7;
int a, b, p, q, head[maxn], cnt, t, pre[maxn], flow[maxn], dist[maxn];
bool inque[maxn];
queueque;
struct eddge
}edge[maxe];
inline void addeddge(int u, int v, int flow, int cost)
inline void _add(int u, int v, int flow, int cost)
bool spfa()}}
}return pre[t] ^ -1;
}int ek()
ans += dist[t] * flow[t];
}return -ans;
}inline void init()
int main()
}for(int i=0, e1, now_id, to_id; i<=q; i++)
}for(int i=1, k, x, y; i<=a; i++)
for(int i=1, k, x, y; i<=b; i++)
printf("%d\n", ek());
return 0;
}
網路流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題 深海機械人(最大費用流)
深海機械人 題意 給定帶一次性邊權網格與若干機械人的起終點,規定起終點必須被機械人經過的次數,求所有機械人能夠得到的最大邊權和.最大費用流,源點向起點連邊,終點向匯點連邊,方格上的點向相鄰點連流量為1費用為val的邊.除此之外,對於題目要求,多個機械人可以在同一時間佔據同一位置 方格上的點還要向相鄰...