首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
[bzoj2561]最小生成树_网络流_最小割_最小生成树
】的更多相关文章
BZOJ_1797_[Ahoi2009]Mincut 最小割_最小割+tarjan
BZOJ_1797_[Ahoi2009]Mincut 最小割_最小割+tarjan Description A,B两个国家正在交战,其中A国的物资运输网中有N个中转站,M条单向道路.设其中第i (1≤i≤M)条道路连接了vi,ui两个中转站,那么中转站vi可以通过该道路到达ui中转站,如果切断这条道路,需要代价ci.现在B国想找出一个路径切断方案,使中转站s不能到达中转站t,并且切断路径的代价之和最小. 小可可一眼就看出,这是一个求最小割的问题.但爱思考的小可可并不局限于此.现在他对每条单向道路…
【BZOJ2229】[ZJOI2011]最小割(网络流,最小割树)
[BZOJ2229][ZJOI2011]最小割(网络流,最小割树) 题面 BZOJ 洛谷 题解 戳这里 那么实现过程就是任选两点跑最小割更新答案,然后把点集划分为和\(S\)联通以及与\(T\)联通. 然后再这两个点集里面分别任选两点跑最小割,递归下去即可. #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #includ…
【CF331E】Biologist(网络流,最小割)
[CF331E]Biologist(网络流,最小割) 题面 洛谷 翻译: 有一个长度为\(n\)的\(01\)串,将第\(i\)个位置变为另外一个数字的代价是\(v_i\). 有\(m\)个要求 每个要求的形式是 首先确定若干位置都要是\(0\)或者\(1\) 然后给定这\(K\)个位置,如果些位置上都满足要求 那么就可以得到\(W_k\)元 某些要求如果失败了还要倒着给\(g\)元 问最终能够得到的最大利润 输入格式: 第一行是\(n,m,g\) 第二行是\(V_i\) 接下来\(m\)行 第…
【BZOJ1391】Order(网络流,最小割)
[BZOJ1391]Order(网络流,最小割) 题面 BZOJ权限题... 良心洛谷 题目描述 有N个工作,M种机器,每种机器你可以租或者买过来. 每个工作包括若干道工序,每道工序需要某种机器来完成,你可以通过购买或租用机器来完成. 现在给出这些参数,求最大利润 输入输出格式 输入格式: 第一行给出 N,M(1<=N<=1200,1<=M<=1200) 下面将有N组数据. 每组数据第一行给出完成这个任务能赚到的钱(其在[1,5000])及有多少道工序 接下来若干行每行两个数,分别…
【BZOJ3144】切糕(网络流,最小割)
[BZOJ3144]切糕(网络流,最小割) 题面 BZOJ 题解 这样的类型很有趣 先不考虑相邻距离差不能超过\(D\)的限制 我们考虑答案,显然就是在每个位置选一个最小的高度割就行了 化成最小割的模型? 对于每个位置挂一条长链,分别表示每个高度 \(S\)和\(1\)高度相连,\(R\)高度和\(T\)相连 连向第\(i\)个点的边的容量就是高度\(i\)的代价 现在加入了距离不超过\(D\)的限制 举个例子,如果你一个割掉了\(1\),那么,另外一个就不能割\(1+D\) 也就是在\(D\)…
[bzoj2561]最小生成树_网络流_最小割_最小生成树
最小生成树 bzoj-2561 题目大意:题目链接. 注释:略. 想法: 我们发现: 如果一条权值为$L$的边想加入到最小生成树上的话,需要满足一下条件. 就是求出原图的最小生成树之后,这个边当做非树边的情况下覆盖的边的最小值不可以比$L$小. 如此,我们级就可以通过网络流来求了. 对于每一条比$L$小的边,我们连双向边,求当前边$u,v$的最小割即可. 如果是最大生成树的话同理,我们只需要把所有比当前加入的边的权值小的边在网络流中连无向边,然后跑最小割即可. Code: #include <i…
[bzoj4519][Cqoi2016]不同的最小割_网络流_最小割_最小割树
不同的最小割 bzoj-4519 Cqoi-2016 题目大意:题目链接. 注释:略. 想法: 我们发现这和最小割那题比较像. 我们依然通过那个题说的办法一样,构建最小割树即可. 接下来就是随便怎么处理都行了. 我们可以弄一个数组把枚举到的距离都记录下来即可. Code: #include <bits/stdc++.h> #define N 860 #define M 17010 using namespace std; queue<int> q; int n,head[N],to…
[bzoj2229][Zjoi2011]最小割_网络流_最小割树
最小割 bzoj-2229 Zjoi-2011 题目大意:题目链接. 注释:略. 想法: 在这里给出最小割树的定义. 最小割树啊,就是这样一棵树.一个图的最小割树满足这棵树上任意两点之间的最小值就是原图中这两点之间的最小割. 这个性质显然是非常优秀的. 我们不妨这样假设,我么已经把最小割树求出来了,那么这个题就迎刃而解了. 我们可以直接枚举点对,然后暴力验证就可以直接枚举出所有的合法点对是吧. 那么问题来了,我们如何才能求出所有的合法的点对? 这就需要用到了最小割树的构建过程. 我们最小割树的构…
BZOJ_1001_狼抓兔子_(平面图求最小割+对偶图求最短路)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1001 1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 17068 Solved: 4171[Submit][Status][Discuss] Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还比较笨,它们只有两…
[TJOI2013]攻击装置(网络流,最小割)
前言 网络流被hbx吊起来打 Solution 考虑一下这个走法是不是和象棋中马的走法一模一样(废话) 那么显然我每一次移动是走三次,如果将棋盘二分图染色一下,不就是每一次只能走到另一个颜色的吗? 然后我们题目中求的是最多可以放置多少个装置,不能够攻击,也就是一个裸的二分图最小割? 直接最大流求一下做个减法就没了. 代码实现 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.…