题目链接 Solution CF813F Bipartite Checking 题目大意:给定一个有$n$个点,没有边的无向图。每次操作添加一条边,如果该边已存在则删去这条边。每次操作之后回答无向图是否为二分图 扩展域 & 可撤销并查集、线段树分治 分析:首先如果只有加入操作,我们可以通过扩展域并查 ...
分类:
其他好文 时间:
2020-07-28 22:44:02
阅读次数:
90
【原题】 Description Rain has pummeled the cows' field, a rectangular grid of R rows and C columns (1 <= R <= 50, 1 <= C <= 50). While good for the grass, ...
分类:
其他好文 时间:
2020-07-24 22:06:12
阅读次数:
92
知识点简单总结——带花树(一般图最大匹配) 前置知识 二分图最大匹配(匈牙利算法) 一般图最大匹配 首先思考一下一般图和二分图的区别在哪里。 很明显二分图没有奇环。 那么只要能处理好奇环的结果就好。 首先像匈牙利算法一样每次选择一个点开始匹配并进行一次新的黑白染色,起点为黑色。 进行bfs,用队列处 ...
分类:
其他好文 时间:
2020-07-23 15:45:31
阅读次数:
74
一般图较二分图来说,一般图内可以有偶环,也可以有奇环,任何一个无向图都可以称为一般图,这里主要说明的是一般图匹配算法。 一般图图匹配 说明:了解一般图匹配,建议先了解二分图及其匹配等知识点。可以移步二分图匹配。 在二分图中,二分图的匹配已经解决了只有偶环图的匹配,但一般图与二分图不同的是,一般图可能 ...
分类:
其他好文 时间:
2020-07-23 01:42:48
阅读次数:
94
期望好题。 发现 \(n\) 非常小,应该要想到状压的。 我们可以先只考虑 0 操作。 最难的还是状态: 我们用 \(S\) 表示左部点有哪些点已经有对应点, \(T\) 表示右部点有哪些点已经有对应点,\(f[S][T]\) 表示从一条边没连到此状态的期望方案数 这样就有转移: \(f[S][T] ...
分类:
其他好文 时间:
2020-07-19 23:41:18
阅读次数:
72
题目描述: 第一次提交:通过76/78 留坑 class Solution: def isBipartite(self, graph: List[List[int]]) -> bool: dic = {} l = [] for i in range(len(graph)): if graph[i] ...
分类:
其他好文 时间:
2020-07-17 14:14:05
阅读次数:
61
利用二分图没有奇环的性质 DFS: class Solution { private: static constexpr int UNCOLORED = 0; static constexpr int RED = 1; static constexpr int GREEN = 2; vector<i ...
分类:
其他好文 时间:
2020-07-16 21:49:52
阅读次数:
71
思路染色问题,可以使用dfs,也可以使用bfs代码class Solution { boolean valid = true; int[][] graph; public boolean isBipartite(int[][] graph) { this.graph = graph; int n =... ...
分类:
其他好文 时间:
2020-07-16 21:42:04
阅读次数:
58
785. 判断二分图 题目来源:力扣(LeetCode)https://leetcode-cn.com/problems/is-graph-bipartite 题目 给定一个无向图 graph,当这个图为二分图时返回 true。 如果我们能将一个图的节点集合分割成两个独立的子集 A和 B,并使图中的 ...
分类:
编程语言 时间:
2020-07-16 21:03:51
阅读次数:
60
带花树算法大概就是解决一般图的最大匹配 回顾匈牙利算法解决二分图匹配 我们每次增广左侧的a,其实是找到与它有边相连的右侧的一个点b 看b是否在匹配中,如果不在那么增广成功 如果在那么就增广b的匹配点c看是否成功 但我们发现这是因为我们把点集分成两个内部无交的点集才可以这么做 但是对于一般图是不满足这 ...
分类:
编程语言 时间:
2020-07-16 00:19:40
阅读次数:
74