图论
一颗牙疼_
这个作者很懒,什么都没留下…
展开
-
ZOJ 3261 Connections in Galaxy War 离线并查集 逆向处理
题目大意给你n个数,接下来给你m个数的关系,有q个操作,分别是删除关系和询问当前集合的最大值这道题目和显然普通的并查集是无法解决的,我们采用离线操作#include <iostream>#include <algorithm>#include <cstdio>#include <vector>#include <map>...原创 2020-04-13 23:09:19 · 127 阅读 · 2 评论 -
网络流建图方法(五)—— 一对多问题 洛谷 P3980 志愿者招募 (最小费用最大流)
这期讲的是网络流建图方法五—— 一对多问题,这类题呢,通常是一个决策影响多个决策比如洛谷P3980这道题,题目描述申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管。布布刚上任就遇到了一个难题:为即将启动的奥运新项目招募一批短期志愿者。经过估算,这个项目需要N 天才能完成,其中第i 天至少需要Ai 个人。 布布通过了解得知,一共有M 类志愿者可以招募。其中第i 类可以从第S...原创 2019-08-08 17:07:05 · 247 阅读 · 0 评论 -
洛谷 P 2763 试题库问题 (匹配方案输出)最大流 Dinic
戳此进入题目 —>洛谷P2763先说一下题目的大意,有n个点属于m个类别,对于m个类别,每个类别要求去除a个点(a属于n),这样分析后我们很容易发现这是一道二分图匹配问, 所以我们可以写匈牙利算法,当然这里介绍的是网络流的解法, 我建立二分图, 一面是n个点表示试题的个数, 每个点向原点连接一条权值为1的边,另一面m个点,表示要求取m种点, 每个点与汇点连接一条权值为w的边,表示对于该种类...原创 2019-08-13 16:34:19 · 246 阅读 · 0 评论 -
洛谷 P2766 最长不下降子序列问题 dp 最大流
洛谷 p2766题目呢很裸的三个要求1)求出最长不下降子序列长度s2)求出最多有多少个长度为s的不下降子序列3)如果1和xn可以无限使用,又有多少个长度为s的不下降子序列那么我们侧重于三个问题来分析如何解题, 首先第一题我们很容易发现是LIS问题,直接dp求解,后两个问我们可以考虑一下2网络流的解法,对于这样一道题建图的时候我们考虑一下如何建图, 既然要跑网络流,那么我们的思路又是什么呢...原创 2019-08-19 15:11:00 · 177 阅读 · 0 评论 -
网络流建图方法(六)解决同时做问题 洛谷P2053 修车问题
今天讲的建图方法主要用来解决同时做问题,和第一期讲的拆点法有点相似,但是实际上却有很大差距,第一期的酒店之王拆点法,就要原因是为了解决一个点可能会被多次匹配的问题,也就是说主要作用是限流的作用,而这次的拆点主要是解决同时做的问题,也就是把一个点拆成n个,使之具有n种状态,还是会重题目说起洛谷2053题目描述同一时刻有N位车主带着他们的爱车来到了汽车维修中心。维修中心共有M位技术人员,不同的技术...原创 2019-08-11 11:35:33 · 192 阅读 · 0 评论 -
洛谷 P2756 飞行员配对问题, 最大流配对方案输出
#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<queue>#include<vector>using namespace std;const int INF = 0x3f3f3f3f;const int...原创 2019-08-12 11:06:52 · 124 阅读 · 0 评论 -
负载平衡问题 洛谷P4016
题目描述GG 公司有 nn 个沿铁路运输线环形排列的仓库,每个仓库存储的货物数量不等。如何用最少搬运量可以使 nn 个仓库的库存数量相同。搬运货物时,只能在相邻的仓库之间搬运。输入格式文件的第 11 行中有 11 个正整数 nn,表示有 nn 个仓库。第 22 行中有 nn 个正整数,表示 nn 个仓库的库存量。输出格式输出最少搬运量。输入517 9 14 16 4输出11...原创 2019-08-12 16:47:03 · 146 阅读 · 0 评论 -
洛谷 P2765 魔术球问题 最小路径覆盖问题 网络流
洛谷P2765这是第一次写这种类型的题,题目比较经典,所以记录一下,这道题目的解法还是很多的比如贪心就可以过题,但是我这里想介绍的是一种关于网络流的建图思想,其实开始就说我们如何如何建图是不太对的我觉得,因为比赛的时候你不是一下就可以看出来这是网络流对吧,那么我们先分析一下题目,题目说给你N个柱子,在柱子上去放珠子,相邻的珠子之和必须是完全平方数,什么是完全平方数就不用说了吧!那么咋一看这像是一...原创 2019-08-16 21:48:50 · 156 阅读 · 0 评论 -
洛谷 P4014 分配问题 最大费用流 最小费用流
戳此进入题目->洛谷 P4014这道题可以很容易的看出是一道同时做的模型, 我们只要拆点减二分图就行了, 如果对这个模型不理解或者没有建图思路的可以去看一下洛谷P2053修车问题; 这次的博客,我们不讲如何建图,因为这真的是一个很裸的建图, 这次我们主要说一下如何解决最大费用流的问题,相信每一个图论选手都已经把最小费用流的板子熟记于心,但是如何解决最大费用流呢,其实很简单,我们只需要建图的...原创 2019-08-13 11:25:25 · 248 阅读 · 0 评论 -
网络流建图方法(二)——辅助点(虚点)决策法洛谷 P1361 小M 的作物 Dinic
声明:本博客默认读者会最大流最小割的定理,会Dinic,最小割在数值上 == 最大流但是在意义上没有任何关系,姑且可以这样求得最小割,当然可以自行百度最小割的证明定理还是从题目开始说起洛谷P1361题目描述小M在MC里开辟了两块巨大的耕地A和B(你可以认为容量是无穷),现在,小P有n中作物的种子,每种作物的种子有1个(就是可以种一棵作物)(用1…n编号)。现在,第i种作物种植在A中种...原创 2019-08-01 19:04:24 · 231 阅读 · 0 评论 -
网络流建模方法(四)—— 互不攻击问题 洛谷 P3353 骑士共存问题 (附 洛谷 P2774 方格取数问题)
网络流建模方法(四)互不攻击问题,或者说是共存问题, 这类题目看起来有点像二分图匹配,这类题目我们就是建一个二分图然后跑最大流还是先说题目洛谷P3353题目描述在一个 nn个方格的国际象棋棋盘上,马(骑士)可以攻击的棋盘方格如图所示。棋盘上某些方格设置了障碍,骑士不得进入对于给定的 nn 个方格的国际象棋棋盘和障碍标志,计算棋盘上最多可以放置多少个骑士,使得它们彼此互不攻击输入格式第一...原创 2019-08-08 11:51:25 · 268 阅读 · 0 评论 -
网络流建模方法(三)——网络中描述每一个决策 洛谷 P1251 最小费用最大流
网络流建模方法三描述每一个决策的问题, 其实网络流一直都在做这个事,去描述决策的问题, 把他称之为一种建模方法似乎有一点过分,或者应该将其称之为一种题型,一种描述决策的题型吧!还是先说题目 洛谷P1251题目描述一个餐厅在相继的 NN 天里,每天需用的餐巾数不尽相同。假设第 ii 天需要 r_ir i块餐巾( i=1,2,…,N)。餐厅可以购买新的餐巾,每块餐巾的费用为 pp 分;或者把旧餐巾...原创 2019-08-04 18:58:39 · 247 阅读 · 0 评论 -
图论学习大纲
图论学习大纲图的类型与性质1.1 欧拉图1.2 哈密尔顿图拓扑排序最短路3.1 Dijkstra3.1.1 优先队列优化3.1.2 堆优化3.1.3 路径还原3.2 Bellman-Ford3.2.1 判断负环3.3 Floyd3.4 SPFA3.5 K短路3.6 差分约束系统最小生成树4.1 Prmie4.2 Kruskal二分图5.1 二分图判断5.2...原创 2019-04-09 09:00:59 · 300 阅读 · 0 评论 -
拓扑排序详解
图论——拓扑序什么是拓扑排序?对一个有向无环图(Directed Acyclic Graph简称DAG) G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。简单的说,由某个集合上的一个偏序得到该集合上的一个全序,这...原创 2019-04-09 11:40:46 · 492 阅读 · 0 评论 -
HDU 2544——最短路
Problem Description在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗?Input输入包括多组数据。每组数据第一行是两个整数N、M(N<=100,M<=10000),N表示成都的大街上有几个路口,标号为1的路...原创 2019-04-12 20:32:43 · 116 阅读 · 0 评论 -
HDU 2112 简单最短路
Problem Description经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强。这时候,XHD夫妇也退居了二线,并在风景秀美的诸暨市浬浦镇陶姚村买了个房子,开始安度晚年了。这样住了一段时间,徐总对当地的交通还是不太了解。有时很郁闷,想去一个地方又不知道应该乘什么公交车,在什么地方转车,在什么...原创 2019-04-12 20:45:37 · 306 阅读 · 0 评论 -
HDU 2066 ——一个人的旅行
Problem Description虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,0),很多事,还能丰富自己的阅历,还可以看美丽的风景……草儿想去很多地方,她想要去东京铁塔看夜景,去威尼斯看电影,去阳明山上看海芋,去纽约纯粹看雪景,去巴黎喝咖啡写信,去北京探望孟姜女……眼看寒假就快到了,这么一大段时间,可...原创 2019-04-12 20:57:17 · 169 阅读 · 0 评论 -
图论选手刷题路线图论500题
=以下是最小生成树+并查集==========【HDU】1213 How Many Tables 基础并查集★1272 小希的迷宫 基础并查集★1325&&poj1308 Is It A Tree? 基础并查集★1856 More is better 基础并查集★1102 Constructing Roads 基础最小生成树★123...转载 2019-04-24 08:06:49 · 780 阅读 · 0 评论 -
二分图匹配——匈牙利算法
匈牙利算法什么是匈牙利算法匈牙利算法是一种在多项式时间内求解任务分配问题的组合优化算法,并推动了后来的原始对偶方法。美国数学家哈罗德·库恩于1955年提出该算法。此算法之所以被称作匈牙利算法,是因为算法很大一部分是基于以前匈牙利数学家Dénes Kőnig和Jenő Egerváry的工作之上创建起来的。 以上均是书上语言,简单来说匈牙利算法就是用来求解二分图匹配问题 的;思路接下来我们来...原创 2019-05-08 09:28:29 · 423 阅读 · 0 评论 -
网络流建图方法(一)拆点法 + 例题 洛谷 P1402 酒店之王
众所周知图论中网络流问题最重要的就是建图了,如果可以建图成功了那么题目也就自然而然的做出来了,今天介绍的是拆点法建图,首先来看例题洛谷P1402题目描述XX酒店的老板想成为酒店之王,本着这种希望,第一步要将酒店变得人性化。由于很多来住店的旅客有自己喜好的房间色调、阳光等,也有自己所爱的菜,但是该酒店只有p间房间,一天只有固定的q道不同的菜。有一天来了n个客人,每个客人说出了自己喜欢哪些房间,...原创 2019-07-31 15:38:57 · 515 阅读 · 0 评论 -
链式前向星教学详解最短路
链式前向星详解链式前向星图的存储一般有两种:邻接矩阵、邻接表(邻接表包括一种东西叫前向星)。若图是稀疏图,边很少,开二维数组a[][]很浪费;若点很多(如10000个点)a[10000][10000]又会爆.只能用前向星做.前向星的效率不是很高,优化后为链式前向星,直接介绍链式前向星。数据结构struct edg{ int to;//用来存储终点 int w;//用...原创 2019-03-30 16:14:19 · 806 阅读 · 0 评论