題意:給出乙個無向圖,每條邊有長度和代價。求出1到n的最短路。之後刪掉一些邊使得1到n的最短路變大?在此情況下使得刪掉邊的代價之和最小。
思路:首先求出每個點到1和n的最短路。之後可以確定每條邊是否為關鍵邊(就是最短路上的邊)。將關鍵邊建立網路流圖,求最小割即可。
struct node;
node edges[n];
int head[n],e;
void add(int u,int v,int cap)
void add(int u,int v,int cap)
int pre[n],cur[n],num[n],h[n];
int maxflow(int s,int t,int n)
if(i!=-1)
else}}
}void build()
}}int main()
bfs(dis1,1); bfs(dis2,n);
build(); pr(dis1[n]);
pr(maxflow(1,n,n));
}
1266 AHOI2006 上學路線route
題目鏈結 題目大意 給出乙個無向圖,每條邊有長度和代價。求出1到n的最短路。刪掉一些邊使得1到n的最短路變大並使得刪掉邊的代價之和最小。題解 跑出最短路樹,然後求最短路樹上的最小割 我的收穫 按照3931改了幾行就過了 include include include include include ...
BZOJ3782 上學路線
bzoj 第一行,四個整數 n,m,t,p 接下來的 t 行,每行兩個整數,表示施工的路口的座標。一行,乙個整數,路徑數 mod p 的值。3 4 3 1019663265 3 01 1 2 28 1 le n,m le 10 0 le t le 200 p 1000003 或 p 10196632...
bzoj3782上學路線
題意 從n m網格圖的左下角走到右上角 n,m 10 10 有t個座標不能經過 t 200 只能向上向右走,問有多少種不同的走法,對p取模,p只有兩種取值,1000003 質數 和1019663265 四個質數的乘積,3 5 6793 10007 考試的時候有部分分 1.n,m 1000時,o nm...