【双连通分量】 一、边双连通分量定义 在分量内的任意两个点总可以找到两条边不相同的路径互相到达。总而言之就是一个圈,正着走反着走都可以相互到达,至少只有一个点。 二、点双连通分量的定义 参照上面,唯一的不同:任意两个点可以找到一个点不同的路径互相到达。也是一个圈,正反走都可以,至少为一个点。 三、边 ...
分类:
其他好文 时间:
2019-08-13 20:08:12
阅读次数:
123
板子(匈牙利算法,邻接矩阵) const int MAXN=2e3+5; int uN, vN; int g[MAXN][MAXN]; int linker[MAXN]; bool used[MAXN]; bool dfs(int u) { for(int v=0; v<vN; v++) if(g[ ...
分类:
其他好文 时间:
2019-08-13 09:16:04
阅读次数:
99
题意 在一个有 m*n 个方格的棋盘中,每个方格中有一个正整数。现要从方格中取数,使任意 2 个数所在方格没有公共边,且取出的数的总和最大。试设计一个满足要求的取数算法。对于给定的方格棋盘,按照取数要求编程找出总和最大的数。 题解 方格是常见的二分图(疑问脸)。所以考虑先染色,相邻的格子颜色不同,这 ...
分类:
其他好文 时间:
2019-08-11 22:54:32
阅读次数:
107
题目详情 Description 给定一个具有 n 个顶点的图。要给图上每个顶点染色,并且使相邻顶点颜色不同。问是否能最多用2种颜色进行染色? 限制条件: 1<= n <=1000 Input 第一行输入图中结点个数 接下来每一行依次输入:每个结点相邻的结点的个数,相邻的每个结点的值 Output ...
分类:
其他好文 时间:
2019-08-11 20:47:29
阅读次数:
106
题意:n门课,每门各自有t个开课时间,在不冲突的情况下选最多课。 题解:把周p第q节课转化为数值sum,表示在一周7*12节课中排第几节,用二分图最大匹配。 #include<stdio.h> #include<iostream> #include<algorithm> #include<cstri ...
分类:
编程语言 时间:
2019-08-10 21:59:36
阅读次数:
114
题意:给出P门课程,N个学生。每一门课程可能有多个学生感兴趣然后我们需要匹配,使得每一门课程都只包含一名对其感兴趣的学生问:能否匹配成立思路:这个就是典型的二分图匹配问题。常用匈牙利算法 完整代码:(一开始写成了无向图....)写成有向图是因为学生是可以剩余的 ...
分类:
其他好文 时间:
2019-08-10 21:15:02
阅读次数:
99
题意:给出一个不会超过4x4的mapmap中有墙,以及空白处。然后你要在空白处放置尽可能多的炮台炮台对向四周发射子弹,即(炮台不能放在同一行或者列除非有强阻挡)思路:首先想到了dfs枚举(就像八皇后一样回溯法),我们尽可能多的在一行一行的放置.关于放置搜索的问题,我们判断是否合法关于二分图匹配(完全 ...
分类:
Web程序 时间:
2019-08-09 22:03:56
阅读次数:
173
DP&图论 DAY 4 下午 后天考试不考二分图,双联通 考拓扑排序 图论 图的基本模型 边: 有向边构成有向图 无向边构成无向图 权值: 1.无权 2.点权 3.边权 4.负权(dij不可以跑) 环: 1. 2.重边 3.有向无环图DAG 路径: 1.简单路径:不经过重复的点 1-->2-->3 ...
分类:
其他好文 时间:
2019-08-09 19:39:32
阅读次数:
74
KM(Kuhn Munkres)算法求带权二分图的最佳匹配 相关概念 这个算法个人觉得一开始时有点难以理解它的一些概念,特别是新定义出来的,因为不知道是干嘛用的。但是,在了解了算法的执行过程和原理后,这些概念的意义和背后的作用就渐渐的显示出来了。因此,先暂时把相关概念列出来,看看,有个大概印象就好, ...
分类:
编程语言 时间:
2019-08-09 13:29:00
阅读次数:
138