SPOJ Optimal Marks(最小割的应用)
来源:互联网 发布:淘宝网斜挎女包 编辑:程序博客网 时间:2024/05/06 16:30
SPOJ Optimal Marks(最小割的应用)
真心好题,网络流简直无处不在,能够解决一些看似困难的问题,希望能从中学到其精髓—-模型建立+建图
题意:
给定一个无向图,每个顶点都有对应值,每条边的权值为val[u] ^ val[u],同时已知其中某些点的值,求其他点的权值使得最终的图的边权和最小?
分析:
首先边与边之间异或操作,不太好直接处理,因为异或操作每一位运算相互独立,我们来逐位考虑,那么对于那些还未知的权值的点,这一位要么为0 ,要么为1,同时我们还得注意边的两个端点值相同则没有权值,即为0,而相异的话则权值为1,而我们的目标就是最小化边权和,这样一来,我们就可以想到问题等效为: 把点集分为两个部分点集分别为0-1,最少需要删除多少条边,而这些需要删除的边正是我们不得不把其两端点的值相异的边,而其他边权值则为0,因为只有这样,才能使得删除的边最小,也即边权和最小,相信这样的讲解比较容易懂吧!
如果对于这个模型转化的思维过程还没有想明白的话,建议画个图借助一个例子理解下!
剩下的就是建边了,当前考虑第i 位,对于一些已知点,由源点S 与对应位为0的点连边,权值INF ,由对应位为1的点与汇点连边,权值为INF ,最后跑最大流Maxflow 就行了,权值ans+=∑i=0312i⋅Maxflowi
1 0
- SPOJ Optimal Marks(最小割的应用)
- SPOJ Optimal Marks 最小割
- spoj 839 OPTM - Optimal Marks(最小割应用)
- SPOJ 839 Optimal Marks 最小割
- 【SPOJ】839 Optimal Marks 最小割
- 2400: Spoj 839 Optimal Marks 最小割
- 【bzoj2400】Spoj 839 Optimal Marks 最小割
- [bzoj2400]Spoj 839 Optimal Marks 最小割
- SPOJ 839 Optimal Marks 最小割 经典 按位建图
- [省选前题目整理][SPOJ OPTM]Optimal Marks(最小割)
- 【 bzoj 2400 】Spoj 839 Optimal Marks - 最小割
- BZOJ 2400: Spoj 839 Optimal Marks|最小割
- 【bzoj2400】Spoj 839 Optimal Marks 二进制+最小割
- bzoj 2400: Spoj 839 Optimal Marks (最小割)
- spoj 839 OPTM - Optimal Marks (最小割)
- [BZOJ2400]Spoj 839 Optimal Marks(最小割)
- [最小割] BZOJ 2400 Spoj 839 Optimal Marks
- 【BZOJ 2400】Spoj 839 Optimal Marks 最小割
- 如何查看本机IP地址??
- Maven简介(三)——profile介绍
- Android自带的下拉刷新组件SwipeRefreshLayout
- Enumeration遍历
- 关于sd卡的读取权限
- SPOJ Optimal Marks(最小割的应用)
- POJ——2251 Dungeon Master
- 关于改变Bitmap透明度
- Java数组学习练习3冒泡排序数组代码
- UCenter应用同步登录分析
- 自定义view之圆形进度条
- LearningSpark6.1
- WEB中配置错误页面
- 【笔试】37、顺时针打印矩阵