bzoj1061 Noi2008 志願者招募

2021-07-27 06:45:21 字數 921 閱讀 7747

= =跟上一道基本相同,可以單純形法解線性規劃,也可以費用流.

寫費用流的話建圖就是一般的線性規劃轉費用流的套路,加上基變數,然後化成等式,每個下式減上式之後可以化成表示流量平衡的等式,然後根據等式建圖就好了,跑乙個最小費用最大流.

寫單純形沒有寫網路流好理解,單純形的話因為這是最小化費用的,首先要轉化成對偶問題(我到現在也不能理解對偶問題qaq),我的理解就是把原本的b[i]寫成c[i],c[i]寫成b[i],n寫成m,m寫成n,然後xjb搞一搞就好了,而且本來也感覺單純形這個模板憑理解很難打= =,其實背的話更難,因為背模板其實都是建立在理解的基礎之上的,其實就是寫的熟練罷了,不理解的話真的特別容易寫錯,跟自適應辛普森積分一樣(捂臉),mdzz好的我承認我是數學不好.

#include

#include

#include

#include

#include

#include

using

namespace

std;

const

int n=1e3+5,m=1e4+5;

const

double eps=1e-7,inf=1e10;

double ans,a[m][n],b[m],c[n];

int n,m,l,r;

inline

void pivot(int l,int e)

ans+=c[e]*b[l];

for(int i=1;i<=n;++i)

if (i!=e)c[i]-=c[e]*a[l][i];

c[e]=-c[e]*a[l][e];

}inline

void ******x()

******x();

printf("%.0lf",ans);

}

BZOJ1061 NOI2008 志願者招募

bzoj 我們設每類志願者分別招募了b i b i 個 那麼,我們可以得到一系列的方程 s i x t i b i a x s i x t i b i a x 一共n n 天,所以是 n role presentation n n個方程 因為有不等式讓我們很不爽,所以換成等式。這裡,設y i y i...

bzoj 1061 Noi2008 志願者招募

題目大意 專案需要n 天才能完成,其中第i 天至少需要ai 個人。布布通過了解得知,一共有m 類志願者可以招募。其中第i 類可以從第si 天工作到第ti 天,招募費用是每人ci 元。新官上任三把火,為了出色地完成自己的工作,布布希望用盡量少的費用招募足夠的志願者 題解 include include...

BZOJ 1061 Noi2008 志願者招募

time limit 20 sec memory limit 162 mb submit 4064 solved 2476 submit status discuss 申奧成功後,布布經過不懈努力,終於成為奧組委下屬公司人力資源部門的主管。布布剛上任就遇到了乙個難 題 為即將啟動的奧運新專案招募一批...