博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网络流24题3
阅读量:6605 次
发布时间:2019-06-24

本文共 1148 字,大约阅读时间需要 3 分钟。

最小路径覆盖

https://loj.ac/problem/6002

因为每个点只能用一次,因此前驱和后继只能连一个点,拆点,对于一条u,v的边连u作为前驱,v作为后继的点

然后源点连上所有前驱点

汇点连上所有后继点

跑最大流解二分图匹配问题

因为每有有个匹配 说明点u和v从2个路径接成一个路径了,使得总路径数-1,因此答案等于点数-最大流量

#include 
#include
#include
#include
using namespace std;const int maxn = 6009;int tot = 0;int head[maxn];struct edge{ int v,nex,w;}e[maxn*2];void addedge(int u,int v,int w){ e[tot] = (edge){v,head[u],w}; head[u] = tot++; e[tot] = (edge){u,head[v],0}; head[v] = tot++;}int deep[maxn];bool bfs(int S,int T){ memset(deep,0,sizeof(deep)); deep[S] = 1; queue
q; q.push(S); while(!q.empty()){ int now = q.front(); q.pop(); for(int i=head[now];i!=-1;i=e[i].nex){ int v = e[i].v; int w = e[i].w; if(deep[v]!=0 || w<=0) continue; deep[v] = deep[now]+1; q.push(v); } } return deep[T];}int dfs(int now,int T,int maxflow){ if(now==T) return maxflow; int all = 0; for(int i=head[now];i!=-1 && all

  

转载于:https://www.cnblogs.com/tjucxz/p/8561311.html

你可能感兴趣的文章
Myeclipse中打开接口实现类的快捷键
查看>>
浅谈React数据流管理
查看>>
<20190516> 一次比较糟糕的售后维修体验(某硕主板)
查看>>
iOS网络篇2-http协议通信规则
查看>>
删除sql dump中的AUTO_INCREMENT
查看>>
使用JdbcTemplate和JdbcDaoSupport
查看>>
Ruby-GNOME2 1.2.0 发布,支持 GTK+ 3
查看>>
C博客作业--指针
查看>>
版本12.2.0.1.0数据库,复制种子数据库快速创建租户数据库PDB
查看>>
吴忠军中华演出网
查看>>
Page翻页分页css代码,分页div+css代码
查看>>
编程之美 第1章 游戏之乐——游戏中碰到的题目(十一)
查看>>
mysql for Mac 下创建数据表中文显示为?的解决方法
查看>>
Qt中插入html样式
查看>>
【译】Matplotlib:plotting
查看>>
Postgresql个人维护库时,出现有用户在连接又找不到这个用户是谁的强制中断连接的方法;...
查看>>
Implicit declaration of function 'BMKCoordinateForMapPoint' is invalid in C99
查看>>
Intent传参数
查看>>
MVC 和 Web Form
查看>>
2016阿里巴巴73款开源产品全向图
查看>>