SPFA+dinic #8-10 TLE 求助+警示后人

P3381 【模板】最小费用最大流

哦 写模板的时候没写好 也可以看自己的sum有没有每次操作都减掉一个k
by little_kongbai @ 2022-12-04 16:43:27


1 ```cpp int dfs(int u,int sum){ if(u==t)return sum; int k,res=0; vis[u]=1; for(int i=head[u];i;i=e[i].next){ int v=e[i].to; if(!vis[v]&& e[i].w&&dis[v]==dis[u]+e[i].c){ k=dfs(v,min(sum,e[i].w)); res+=k;ret+=e[i].c*k;sum-=k; e[i].w-=k,e[i^1].w+=k; } } vis[u]=0; return res; } ``` 2 ```cpp int dfs(int u,int sum){ if(u==t)return sum; int k,res=0; vis[u]=1; for(int i=head[u];i;i=e[i].next){ int v=e[i].to; if(!vis[v]&& e[i].w&&dis[v]==dis[u]+e[i].c){ k=dfs(v,min(sum-res,e[i].w)); res+=k;ret+=e[i].c*k; e[i].w-=k,e[i^1].w+=k; } } vis[u]=0; return res; } ```
by little_kongbai @ 2022-12-04 16:44:29


不用记`vis`,直接跑最短路径树,就不会死循环了
by ssilrrr @ 2023-01-16 17:20:49


|