最小割
EMber _
人但有追求,世界亦会让路。
展开
-
【Srm590】Fox And City(fox)
DescriptionA long time ago, 有一个国家有n 座从0 到n-1编号的城市。城市0 是首都。国家道路网络形成了一个无向连通图。换句话说:某些对城市被双向通行的道路所连接。对于每座城市,可以从城市出发经过一系列连续的道路到达首都。(当两条道路需要在城市外相交时,相交处总是会有一座桥梁,因此城市外并没有路口。)你会获得一个用于描述道路网络的字符矩阵linked。对于每个i 和j,原创 2017-04-08 20:51:19 · 904 阅读 · 0 评论 -
bzoj3996[TJOI2015]线性代数 网络流
Description给出一个N*N的矩阵B和一个1*N的矩阵C。求出一个1*N的01矩阵A.使得D=(A*B-C)*A^T最大。其中A^T为A的转置。输出D Input第一行输入一个整数N,接下来N行输入B矩阵,第i行第J个数字代表Bij. 接下来一行输入N个整数,代表矩阵C。矩阵B和矩阵C中每个数字都是不超过1000的非负整数。 Output输出最大的DSample Input31 2 1原创 2017-08-03 09:32:14 · 300 阅读 · 0 评论 -
codevs 1922 骑士共存问题 最小割
分析:比较经典的最小割题目,我们把横纵坐标之和%2=0的位置标记为二分图的左半部分,另外的作为右半部份,当然删除掉的不能用的。 然后s向左半部分连边,右半部分向T连边。对于能够互相到达的点,连长度为inf的边(保证最小割不会包含可以互相到达的点),然后可以证明互相到达的两个点,肯定属于不同的部分,然后跑最小割,答案就是n^2-m-ans. 手残打错了一些小细节,,非常不应该啊。。还是打得不是很熟原创 2017-04-16 22:31:42 · 312 阅读 · 0 评论 -
bzoj1497 NOI2006 最大获利 最小割
woc我真的想打人了,inf值如果不调到最大就tle是什么鬼?????我整整调了将近一个小时啊淦! 。。 连边的话,看amber的论文就好了,然后形成最大权封闭子图,s向正权点连边,负权点向t连边,容量都为权值,可以证明一个方案和一个割一一对应。/************************************************************** Problem:原创 2017-04-16 10:23:16 · 890 阅读 · 0 评论 -
bzoj2768[JLOI2010]冠军调查
水水的最小割。#include<cstdio>#include<algorithm>#include<cstring>#include<iostream>#define fo(i,a,b) for(int i=a;i<=b;i++)#define fd(i,a,b) for(int i=a;i>=b;i--)#define T 301#define inf 0x7fffffff us原创 2017-04-18 11:23:52 · 383 阅读 · 0 评论 -
bzoj2127 hapiness 最小割
”我整个人都最小割了“—hzwer.. 分析: s->A:cost[A文]+c[文][A][B]/2,s->B:cost[B文]+c[文][A][B]/2;A->t:cost[A理]+c[理][A][B]/2,B->t:costB[理]+c[理][A][B]/2;A<–>B:c[文][A][B]/2+c[理][A][B]/2 这样就会出现两种割,分别对应两个人同选和不同选。#include<c原创 2017-04-18 10:53:54 · 208 阅读 · 0 评论 -
bzoj1412 狼和羊的故事 最小割
分析:套路太naive了,随便搞,起点向羊,狼连终点,然后能互相到达的狼和羊连长度为1的边,空地全连,跑最小割。#include<cstdio>#include<algorithm>#include<cstring>#include<iostream>#define fo(i,a,b) for(int i=a;i<=b;i++)#define fd(i,a,b) for(int i=a;i原创 2017-04-18 10:20:01 · 285 阅读 · 0 评论 -
【GDSOI2017模拟4.13】炮塔 最小割
DescriptionA君正在玩一款战略游戏,游戏中的规则是这样的: 给定一个n*m的地图,地图上每一个位置要么是空地,要么是炮塔,要么有若干数量的敌人。现在A君要操控炮塔攻击这些敌人。 对于每个炮塔,它们的攻击方向已经确定(上下左右其中一个),A君只需要为每个炮塔指定攻击位置。每一个炮塔只能朝它攻击方向上的某个位置进行攻击,每个炮塔只能攻击一次,当然,炮塔也可以不进行攻击。炮塔对一个位置攻击后原创 2017-04-13 20:09:15 · 525 阅读 · 0 评论 -
网络流24题 飞行员配对
随便连边,做了一定题目以后发现网络流套路还是比较浅的,当然仅限于简单题。#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<cmath>#define fo(i,a,b) for(int i=a;i<=b;i++)#define fd(i,a,b) for(int i=a;i>=b;原创 2017-04-10 22:12:55 · 208 阅读 · 0 评论 -
loj6001「网络流 24 题」太空飞行计划 最小割(最大权闭合图复习)
题意可知要求最大权闭合图,那么按照结论答案是正权值-最小割(最大流) 复习一下最大权闭合图:建图方法:源点S向正权点连容量为权值的边,负权点向汇点T连容量为权值绝对值的边。正权和负权点之间连容量为inf的边。证明:根据题意可知,一对点i,j,假如i为正j为负那么i,j满足依赖关系:选了i一定要选j。从最小割角度来思考,如果我选了i而不选j,那么S,T联通,不满足最小割性质。如果i为负而j为原创 2017-09-04 21:45:00 · 271 阅读 · 0 评论