随笔分类 -  ICPC-图论

摘要:题目链接 题意 : 给定方格中第一行的各个起点、再给定最后一行与起点相对应的终点、问你从这些起点出发到各自的终点、不相交的路径有多少条、移动方向只能向下或向右 分析 : 首先对于多起点和多终点的不相交路径、有一个LGV定理 实际上就是 n^2 构造矩阵、再计算其行列式 矩阵的构造方法可以看看这个 = 阅读全文
posted @ 2018-11-07 10:31 qwerity 阅读(287) 评论(0) 推荐(0)
摘要:题目链接 题意 : 给出一副简单图、要你找出一个回路、使得其路径上边权的异或和最大 分析 : 类似的题有 BZOJ 2115 对于这种异或最长路的题目(走过的边可以重复走) 答案必定是由一条简单路径(链) + 一些基本环构成 这是因为操作是 xor , 具有自反性质 , 可能需要脑补一下 回到这题, 阅读全文
posted @ 2018-10-09 00:13 qwerity 阅读(198) 评论(0) 推荐(0)
摘要:题目链接 题意 : 给出 2*N 颗珠子、有 N 颗是阴的、有 N 颗是阳的、现在要把阴阳珠子串成一个环状的项链、而且要求珠子的放置方式必须的阴阳相间的、然后给出你 M 个限制关系、格式为 ( A、B ) 表示如果阳性 A 珠子和阴性 B 珠子相邻的话、那么阳性珠子就会衰弱、问你在最优的情况下、最少 阅读全文
posted @ 2018-09-28 16:49 qwerity 阅读(221) 评论(0) 推荐(0)
摘要:上下界网络流问题对于每一条边、都有流量上下限的限制 而普通的网络流就只有上限限制 下面分别给出几种经典上下界网络流问题的模板 参考博文Ⅰ、参考博文Ⅱ 1、无源汇的上下界可行流 实际也就是能否找出一个循环流、使得每个点的流入总流量 == 流出总流量 对于原图的每一条边在网络流中容量应当为 (上界 - 阅读全文
posted @ 2018-09-14 18:49 qwerity 阅读(236) 评论(0) 推荐(0)
摘要:Tarjan 求强连通分量模板、参考博客 #include<stdio.h> #include<stack> #include<algorithm> using namespace std; const int maxn = 1e3 + 10; const int maxm = 330000 + 1 阅读全文
posted @ 2018-09-08 10:35 qwerity 阅读(164) 评论(0) 推荐(0)
摘要:题目链接 题意 : 在一个 n * m 的矩阵中放置 {0, 1, 2} 这三个数字、要求 每个元素 A(i, j) <= A(i+1, j) && A(i, j) <= A(i, j+1) 、问你合法的构造方案有多少种 分析 : 分析一下限制条件不难得出、其实就是在矩阵中设置两条分界线 使得分界线 阅读全文
posted @ 2018-07-23 20:57 qwerity 阅读(197) 评论(0) 推荐(0)
摘要:题目链接 题意 : 给出两幅顶点数一样的图 G1、G2 ,现在要求在 G2 中选出一些边集、使之构成一幅新的图 G ,要求 G 要与 G1 同构,现在要你统计合法的 G 有多少种 分析 : 图的同构是离散数学里面图论的一个概念、具体的可以看 这里 判断两幅图是否是同构的至今貌似还是 NP 问题 由于 阅读全文
posted @ 2018-07-20 16:56 qwerity 阅读(337) 评论(0) 推荐(0)
摘要:引入闭合子图的概念 : 通俗点说就是选出一个图的子图,使得子图中的所有点出度指向的点依旧在这个子图内,则说明此子图是闭合子图。 最大权闭合子图 : 假设每个点具有点权值,在一个图的所有闭合子图中,点权之和最大的即是最大权闭合子图。 求取最大权闭合子图的权值之和是有一个结论的 一、先抽象出一个超级源、 阅读全文
posted @ 2018-06-21 22:12 qwerity 阅读(677) 评论(0) 推荐(0)
摘要:LCA 有几种经典的求取方法、这里只给出模板,至于原理我完全不懂。 1、RMQ转LCA、复杂度O(n+nlog2n+m) 大致就是 DFS求出欧拉序 => 对欧拉序做ST表 => LCA(u, v) 即为 u、v 最先出现在欧拉序中的编号之间的最小值。 因为 LCA 的子树中必定有一个节点是 u,一 阅读全文
posted @ 2018-06-02 18:18 qwerity 阅读(427) 评论(0) 推荐(0)
摘要:混合图 : 同时包含有有向边以及无向边的图 求解混合图的欧拉路径/回路问题需要先了解 有向or无向图的欧拉回路/路径问题 ==> Click here 图论最大流算法 ==> Click here (误) 好了!接下来就是混合图欧拉回路/路径的算法讲解了 好吧,其实我并不会讲,但是找到了一个很详细且 阅读全文
posted @ 2018-04-10 22:22 qwerity 阅读(409) 评论(0) 推荐(0)
摘要:欧拉路径(瞎)定义 : 如果有一条路径使得能够走完所有的边且每一条边经过有且只有一次,这样的路径叫做欧拉路径 欧拉回路定义 : 如果有从起点出发最后回到起点的一条路径使得能够走完所有的边且每条边经过有且只有一次,称其为欧拉回路 根据定义,欧拉回路是欧拉路径的一个子集,存在欧拉回路定存欧拉路径,反之则 阅读全文
posted @ 2018-04-08 20:21 qwerity 阅读(301) 评论(0) 推荐(0)
摘要:Floyd 可以求解图上的最小环 这里需要注意的是无向图和有向图的求法是不一样的 有向图 : 正常跑一遍 Floyd 再遍历所有的 dp[i][i] 即自身到自身的距离,便是所求的最小环 #include<bits/stdc++.h> using namespace std; const int m 阅读全文
posted @ 2018-04-05 18:49 qwerity 阅读(188) 评论(0) 推荐(0)
摘要:不严格说明什么是二分图 ==> 能将图的顶点分为两个集合、同一集合中的顶点没有边相连 匹配 ==> 在图G中两两没有公共端点的边集合M ⊆ 边集合E 除了匹配顺便说一些其他的术语 边覆盖 ==> 在图G中任意顶点都至少是F中某条边的端点的边集合F ⊆ E 独立集 ==> 在G中两两互不相连的顶点集合 阅读全文
posted @ 2018-03-17 22:30 qwerity 阅读(188) 评论(0) 推荐(0)
摘要:题意 : 给出 N 头牛,以及 M 个某些牛之间的大小关系,问你最少还要确定多少对牛的关系才能将所有的牛按照一定顺序排序起来 分析 : 这些给出的关系想一下就知道是满足传递性的 例如 A > B && B > C 可以推出 A > C 也就是说如果用数组 arr[i][j] = true 表示牛 i 阅读全文
posted @ 2018-03-08 17:48 qwerity 阅读(171) 评论(0) 推荐(0)
摘要:拓扑排序复习 ==> 链接 将图进行拓扑排序之后,能在拓扑序列上做一些动态规划算法(DAG上的DP) 阅读全文
posted @ 2018-02-08 16:27 qwerity 阅读(223) 评论(0) 推荐(0)
摘要:题意 : 在某国,城市之间建起了长城,每一条长城连接两座城市。每条长城互不相交。因此,从一个区域到另一个区域,需要经过一些城镇或者穿过一些长城。任意两个城市A和B之间最多只有一条长城,一端在A城市,另一端在B城市。从A走到B,可以只在一个区域内行走,或者只在长城上行走。 有一个俱乐部,它的会员分布在 阅读全文
posted @ 2018-01-18 11:46 qwerity 阅读(130) 评论(0) 推荐(0)
摘要:题目链接 题意 : 给出一副图,大连是起点,终点是西安,要求你求出从起点到终点且经过中转点上海的最小花费是多少? 分析 : 最短路是最小费用最大流的一个特例,所以有些包含中转限制或者经过点次数有限制的最短路问题都可以考虑使用最小费用最大流来建图解决。 首先对于每个点都只能经过一次这个限制,在网络流中 阅读全文
posted @ 2018-01-12 21:28 qwerity 阅读(161) 评论(0) 推荐(0)
摘要:题意 : 有 K 台挤奶机器,每台机器可以接受 M 头牛进行挤奶作业,总共有 C 头奶牛,机器编号为 1~K,奶牛编号为 K+1 ~ K+C ,然后给出奶牛和机器之间的距离矩阵,要求求出使得每头牛都能被安排到某一挤奶机且所有奶牛走出来的路径的最大值的最小值。 分析 : 一个比较复杂的最小化最大值问题 阅读全文
posted @ 2018-01-07 23:58 qwerity 阅读(177) 评论(0) 推荐(0)
摘要:题意 : 有 N 头牛,John 可以制作 F 种食物和 D 种饮料, 然后接下来有 N 行,每行代表一头牛的喜好==>开头两个数 Fi 和 Di 表示这头牛喜欢 Fi 种食物, Di 种饮料,接下来 Fi 个数表示喜欢的食物编号,Di 个数表示喜欢的饮料的编号,现在 John 要使用最优决策制作出 阅读全文
posted @ 2018-01-07 16:03 qwerity 阅读(136) 评论(0) 推荐(0)
摘要:题意 : 给出一些牛棚,每个牛棚都原本都有一些牛但是每个牛棚可以容纳的牛都是有限的,现在给出一些路与路的花费和牛棚拥有的牛和可以容纳牛的数量,要求最短能在多少时间内使得每头牛都有安身的牛棚。( 这里注意给出的边是无向边且有重边 ) 分析 : 听说是网络流的经典题型,这里先来讲一下如何转化为最大流然后 阅读全文
posted @ 2018-01-06 17:51 qwerity 阅读(197) 评论(0) 推荐(0)