放两个模版
2015-08-30 18:23
141 查看
最大流
View Code
最小费用最大流
待补。。
struct edge{ int v,w; edge*next,*r; }e[maxm],*fir[maxn],*cur[maxn],*pt=e; void add(int u,int v,int w){ pt->v=v;pt->w=w; pt->next=fir[u]; fir[u]=pt++; } void addedge(int u,int v,int w){ add(u,v,w);add(v,u,0); fir[u]->r=fir[v];fir[v]->r=fir[u]; } bool bfs(){ queue<int>Q;Q.push(S); clr(d,0);d[S]=1; while(!Q.empty()){ int x=Q.front();Q.pop(); for(edge*e=fir[x];e;e=e->next){ if(e->w&&!d[e->v]){ d[e->v]=d[x]+1;Q.push(e->v); } } } return d[T]; } int dfs(int x,int w){ if(x==T||!w) return w; int f=0; for(edge*&e=cur[x];e;e=e->next){ if(e->w&&d[e->v]==d[x]+1){ int g=dfs(e->v,min(e->w,w)); if(g>0){ f+=g; e->w-=g; e->r->w+=g; if(!(w-=g)) break; } } } return f; }
View Code
最小费用最大流
待补。。
相关文章推荐
- Unity中使用单例类
- angular 模块化之directive
- 物联网云平台介绍及应用模式
- ngrok的使用
- windows环境中mysql忘记root密码的解决办法 (不用mysqld-nt.exe)
- Android 中的WiFi剖析
- noip2004 花生采摘 (枚举)
- 智能家居监控移动手机组态现实生活中的应用
- ArcGIS加载高德、OSM和谷歌等地图
- Qt 如何正确的让程序睡眠
- 提取以特定的字符串开头和结尾的正则表达式
- UITableViewCell 自适应高度
- javaweb前后台中文参数乱码
- 二分查找小结
- 黑马程序员——高新技术---反射
- mac 如何让文件隐藏
- 泛型 --- 泛型在集合中的应用
- LeetCode:ZigZag Conversion
- 数据结构中排序算法-选择排序(3)
- Swift下创建和引用pch文件