蜜汁mle

P4014 分配问题

除了size没初值,以及没打换行我找不出错误了
by Edward_Elric @ 2019-03-22 12:19:27


兄弟,我还是想点意大利万岁~
by ustze @ 2019-03-22 19:46:22


您的 `dinic` 函数里没判断 `to` 是否已经到达过了。 大概需要改成: ```cpp int visit[maxn]; int dinic(int u,int f) { if(u==t||!f)return f; int flow=0; //-------// visit[u]=1; //-------// for(int &i=cur[u]; i; i=e[i].next) { int to=e[i].to; //------------------// if(visit[to])continue; //------------------// if(dis[to]==dis[u]+e[i].cost) { int d=dinic(to,min(f,e[i].cap)); if(d>0) { e[i].cap-=d; e[i^1].cap+=d; flow+=d; f-=d; if(!f)break; } } } //-------// visit[u]=0; //-------// return flow; } ``` 就能过了。
by shanjb0221 @ 2019-04-17 22:06:21


|