NOI 2008 志願者招募(費用流)

2021-05-22 07:32:31 字數 576 閱讀 6881

【題目描述】:

一共有n天,每天需要a[i]個人,一共有m類志願者,每類有無限個,可以從s[i]服務到t[i],需要花費c[i]的費用。問要滿足要求,最小的費用。

【題目分析】:

這題有乙個經典的也很奇妙的構圖法:利用不等式構圖~這個我不懂,想看的話請到byvoid神牛的blog裡面搜~~

我的想法很樸素,流的話就表示人。用容量來限制需要的人數。這樣我有n+3個點,乙個源點(0號),乙個匯點(n+2號)。然後其他的點編號為1~n+1。從源點到1~n連一條容量為a[i],費用為0的邊。再從2~n+1向匯點連一條容量為a[i-1],費用為0的邊。從2~n+1向前乙個點連一條容量正無窮,費用為0的邊。對於每類志願者(s,t,c),連一條從s[i]到t[i]+1容量為正無窮,費用為c[i]的邊。這樣我們再來看看這個圖,對於每天的要求必須通過從前往後走的志願者的邊和回向邊才能到達當天對應的流的出口,因為一定有解,所以這個網路流的最小費用最大流的費用就是結果~~

這題的模型我是參照的經典的餐巾問題想出來的~據說當時在考場上難倒了一大批神牛,但是確實很**~費用流貌似用spfa的那個會超時,所以要用zkw~~zkw的話參見之前的一片blog

【**】:

NOI2008 志願者招募(費用流)

很裸的費用流。建圖也很顯然。從源點向第一天連容量為inf infin f的邊,從第n 1 n 1n 1天向匯點連inf infin f的邊。然後從第i ii天向第i 1 i 1i 1天連容量為inf a i inf a i inf a i 的邊。現在的問題就是,我們需要花一定的代價對流量進行補償,對...

費用流 NOI2008志願者招募

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

NOI2008 志願者招募 (費用流)

申奧成功後,布布經過不懈努力,終於成為奧組委下屬公司人力資源部門的主管。布布剛上任就遇到了乙個難題 為即將啟動的奧運新專案招募一批短期志願者。經過估算,這個專案需要n 天才能完成,其中第i 天至少需要ai 個人。布布通過了解得知,一共有m 類志願者可以招募。其中第i 類可以從第si 天工作到第ti ...