BZOJ 1266 上學路線route(最小割)

2021-09-08 20:36:58 字數 559 閱讀 4144

題意:給出乙個無向圖,每條邊有長度和代價。求出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...