bzoj1834(網路流 費用流)

2021-07-15 17:17:07 字數 948 閱讀 3902

給定一張有向圖,每條邊都有乙個容量c和乙個擴容費用w。這裡擴容費用是指將容量擴大1所需的費用。求: 1、 在不擴容的情況下,1到n的最大流; 2、 將1到n的最大流增加k所需的最小擴容費用。

第一問裸的網路流

第二問:新建乙個匯點,將n號點與匯點相連,容量為k,(限制最多增大的流量)費用為0;

將原先每一條邊都新建乙個邊,容量為inf,表示可以任意大的擴建,費用的該邊擴充套件所需的費用,如果原先的那一條邊沒有滿,那麼費用流時肯定是走那條邊

如果滿了,就可能走擴充套件的邊,同時cost一定的費用;

跑費用流

#include#include#include#include#include#include#include#define debug(x) cout<<#x<<"="<'9') ch=getchar();

ans=ch-'0';while ((ch=getchar())>='0'&&ch<='9') ans=ans*10+ch-'0';

return ans;

}void addedge(int x,int y,int z,int w)

bool bfs()

} return false;

}int dfs(int u,int maxflow)

return ans;

}int work1()

return ans;

}bool spfa()

} b[u]=false;

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

return true;

}int work2()

return ans;

}int main()

printf("%d ",work1());

printf("%d",work2());

return 0;

}

bzoj1834 網路流加費用流

time limit 3 sec memory limit 64 mb submit 2390 solved 1206 submit status discuss 給定一張有向圖,每條邊都有乙個容量c和乙個擴容費用w。這裡擴容費用是指將容量擴大1所需的費用。求 1 在不擴容的情況下,1到n的最大流 ...

bzoj 1834 網路流(最大流 費用流)

題意 n個點,m條無向邊,每條邊有乙個容量和擴容費用 容量擴大1的費用 2個詢問 1 不擴容下的1 n最大流 2 將最大流增加k的最小費用 強行湊出的網路流經典題麼 23333 對於第一問,裸跑最大流即可 第二問的建圖還是很不錯的,一開始認為,應該重新建邊,容量為k,費用是給題目給的。but,too...

bzoj1834 網路擴容 網路流

好久沒寫題解了啊 給你一幅n個點的網路,先求出其1到n的最大流,每條弧還會有個屬性co sti cos ti 表示沒擴容乙個單位的費用,現在我們要求的就是擴容k個單位的最小費用 這是一道比較裸的網路流,第一問直接dinic就是了,重點就在於第二問。我們把第一問的殘量網路繼續利用,其中的每條弧的費用都...