hdu 2883 網路流 離散化

2022-08-19 20:27:09 字數 908 閱讀 4691

題意: 有乙個烤肉店,有n個客人,每個客人點ni個ti時間花費的烤肉,每分鐘最多烤m個。客人有到和離開的時間限制,問是否可以滿足所有客人的需求。

(和 hdu3572很像,但是有兩點不同。1.3572中每個物品只能有乙個機器做,所以網路中物品到單位時間的容量是1.但是這個題不一樣,只要能流流不滿流多少都沒關係。2.這裡時間區間很長,要考慮離散化)

思路:源點 -》客人(容量花費時間)-》離散化後的時間(容量無窮)-》匯點(每個時間的容量上限)

所以跑一遍網路流如果是滿流就說明可以啦,經典的模型,sap玩家莽了過去。。。

**:

#include #include #include #include using namespace std;

const int maxn=1100;

int maze[maxn][maxn];

int gap[maxn],dis[maxn],pre[maxn],cur[maxn];

int sap(int start,int end,int nodenum)

aug=-1;

}goto loop;

}int mindis=nodenum-1;

for(int v=0; vdis[v])

if((--gap[dis[u]])==0)break;

gap[dis[u]=mindis+1]++;

u=pre[u];

}return maxflow;

}int n,m,a,b,c,d,tm[maxn][2],s[maxn];

int main()

for(int j=1;jif(sum==sap(0,cnt+n+1,cnt+n+2)) printf("yes\n");

else printf("no\n");

}}

hdu 2883 最大流 離散化 dinic

題意 給定n個顧客,第i號顧客在si到達,點了ni個羊肉串,每個羊肉串需要ti個時間烤好。顧客想要在ei得到,乙個烤爐只烤m串。問你是否能滿足所有顧客的要求?能的話輸出 yes 否則輸出 no 和3572類似,不過時間太長要用區間,讀入每個時間點排序去重得到tot時間點 tot 1區間 建圖 源點到...

hdu2883 kebab (最大流 離散化)

題目大意 你在經營乙個烤肉店,給你n個客人,每個客人都要求有ni的肉串,並且不要客人要求的肉串的一串烤製時間是不一樣的 為ti 客人將在si到,並且在ei的時候走。你有乙個烤肉機,每天可以烤製m個串,並且每個串是可以分不連續的幾天烤製。題解 從資料規模和模型很容易看出來是一道網路流的題目,hdu上還...

HDU 2883 kebab 離散化 最大流

hdu 2883 kebab 離散化 最大流 題意 給定n個顧客,第i號顧客在si到達,點了ni個羊肉串,每個羊肉串需要ti個時間烤好。顧客想要在ei得到,乙個烤爐只烤m串。問你是否能滿足所有顧客的要求?能的話輸出 yes 否則輸出 no 注意 這ni個羊肉串可以被分開來考,乙個單獨的羊肉串也能分開...