图论训练总结
来源:互联网 发布:网络推广的方式 编辑:程序博客网 时间:2024/05/22 00:36
开始打组队赛啦,正式负责做图论方面的题了,所以在慢慢刷这些个神题!
链接地址: VJ比赛地址
UVAlive 5903 Piece it together
题意:
给定一个图形,W,B 分别代表白色和黑色,一个黑色与两个白色方格组成一个L形状,问你用这个L形状是否能恰好成想要的形状!
思路:
开始是准备用网络流跑一发,自己建图建的比较丑,结果T了,后来改为二分图匹配才过。
建图是这样的,因为一个黑色的方格最多与两个处于相邻侧的白色方格组成一个合法的图形,所以我们可以把一个黑色的格子拆为两个点,一个点与上下格子为白色的点连边,另一个格子点与左右格子为白色的格子的点连边,所以对于这1个黑色格子来说,如果匹配数为2的话,则成功得到这个图形,所以整个建图完成后,跑一个二分图匹配,看匹配数是否等于2*B就行啦!
HDU 4067 Random Maze
题意:
给定一个有向图,保留一条边与删除一条边都会有相应得到花费,求最小的花费,使得最终的图满足除起点s和终点t以外,其它每个点的出度等于入度,且
For the entrance, its out-degree = its in-degree + 1.
For the exit, its in-degree = its out-degree + 1.
思路:
好难啊! 自己强行YY不成功呢。。。
做法大致都猜到是用最小费用流来解决,建图方法简直神了。
那么对于每条边,如果a<=b,那么保留这条边,in[v]++,out[u]++,sum+=a,然后连边v->u,流量1,费用为b-a(如果删除这条边的费用)
如果b < a,那么删去这条边,sum+=b,然后连边u->v,流量1,费用为a-b(如果保留这条边的费用)。
然后我们人为的加入一条t->s,直接in[s]++,out[t]++,使得图中所有点处于相同的状况。
设立超级源汇S、T,对于原图的每个点i,如果in[i]>out[i],则连边S->i,流量为in[i]-out[i], 费用为0,否则连边i->T,流量为out[i]-in[i],费用为0。至此,建图完成。
- 图论训练总结
- 12.15 省选训练总结4 图论算法
- 训练总结
- 训练总结
- 训练总结
- 训练总结
- 训练总结
- 训练总结
- 图论进阶训练
- 图论专题训练
- 拓展训练总结
- 专业技能训练总结
- 科研技能训练总结
- 第一轮训练总结
- 【SCOI2012】训练总结
- 拓展训练总结
- 20120810训练赛总结
- 20120811训练赛总结
- 图的广度优先遍历和深度优先遍历(基于链式前向星)
- 上海浦东新美女找丝足服务
- profile
- 上海奉贤美女找丝足服务
- 重庆南岸美女找丝足服务
- 图论训练总结
- entity framework——实体连接查询两种方式
- 机器学习:神经网络之表达
- 常州戚墅堰区小妹信息找常州戚墅堰区上门服务
- 常州武进区小妹信息找常州武进区上门服务
- 扬州广陵区小妹信息找扬州广陵区上门服务
- 扬州邗江区小妹信息找扬州邗江区上门服务
- 宁波海曙区小妹信息宁波海曙区上门服务
- HDU 5372 Segment Game