博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UOJ #79. 一般图最大匹配
阅读量:4980 次
发布时间:2019-06-12

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

板子:

  

1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 using namespace std; 9 #define maxn 10010 10 #define llg long long 11 #define yyj(a) freopen(a".in","r",stdin),freopen(a".out","w",stdout); 12 llg n,m,sett,father[maxn],pre[maxn],match[maxn],vis[maxn],id[maxn],dl[maxn*10],head,tail,ans; 13 14 vector
a[maxn]; 15 16 llg find(llg x){ if (father[x]!=x) father[x]=find(father[x]); return father[x];} 17 18 llg lca(llg x,llg y) 19 { 20 sett++; 21 while (vis[x]!=sett) 22 { 23 if (x) 24 { 25 x=find(x); 26 if (vis[x]==sett) return x; 27 vis[x]=sett; 28 if (match[x]!=0) x=find(pre[match[x]]); 29 else x=0; 30 } 31 else 32 swap(x,y); 33 } 34 return x; 35 } 36 37 void change(llg x,llg y,llg fa) 38 { 39 llg z; 40 while (find(x)!=fa) 41 { 42 pre[x]=y; z=match[x]; 43 if (id[z]==1) {id[z]=0,dl[++tail]=z;} 44 father[z]=fa; 45 father[x]=fa; 46 y=z; x=pre[y]; 47 } 48 } 49 50 bool bfs(llg p) 51 { 52 llg x,w,v; 53 for (llg i=1;i<=n;i++) id[i]=-1,father[i]=i; 54 head=0,tail=1,dl[1]=p; id[p]=0; 55 do 56 { 57 x=dl[++head],w=a[x].size(); 58 for (llg i=0;i

 

转载于:https://www.cnblogs.com/Dragon-Light/p/6268103.html

你可能感兴趣的文章
显示最近30天的记录vs显示这个月的记录(pl\sql)
查看>>
windows下使用django前台无法载入css的解决办法
查看>>
Android ViewPager初探:让页面滑动起来
查看>>
JSON数据交互
查看>>
tomcat solr 限制ip
查看>>
tomcat
查看>>
js中数组,字符串,对象常用方法总结
查看>>
Visual Studio 2015 代码格式化
查看>>
React入门---属性(state)-7
查看>>
pb设计笔记
查看>>
ADO.NET中调用存储过程
查看>>
开发者 发展 2 码路指南
查看>>
830. Positions of Large Groups
查看>>
Bootstrap_网格系统
查看>>
java学习——异常处理
查看>>
FTP服务器的安装与配置
查看>>
实验10: RIP
查看>>
SpringMVC将表单对象序列化成Json字符串提交,以List接收
查看>>
java线程分析方法
查看>>
(-1)^ 0.6 = ?
查看>>