#pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #include #define LL long long #define LD long double #define ull unsigned long long #define fi first #define se second #define ...
转载
2019-08-02 16:45:00
74阅读
2评论
一、定义: ####独立集:在一个图中,找到一个集合包含的所有点相互之间都不存在连边 ####最大独立集:在所有独立集中包含元素个数最多的独立集 #二、处理问题的第一步:问题转化: 需要用最大团来求最大点独立集,因此先引入最大团的概念 最大团问题 、 tips:最大团和强连通分量有区别,最大团U要求 ...
转载
2021-09-04 19:44:00
1707阅读
2评论
Cat vs. Dog Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2030 Accepted Submission(s): 774 Prob
原创
2021-07-21 15:27:36
152阅读
最大团定义:即为最大完全子图。给定无向图G=(V,E)。如果U是V的一个子集,且对任意u,v属于U 有(u,v)属于E,则称U 是G 的完全子图。
G 的完全子图U是G的团当且仅当U不包含在G 的更大的完全子图中,即U就是最大完全子图。
G 的最大团是指G中所含顶点数最多的团。最大独立集定义:独立集是指图 G 中两两互不相邻的顶点构成的集合。
当且仅当对于U 中任意点u 和v所构成的边(u , v
转载
2024-07-17 14:45:50
130阅读
## Java最大独立集的实现流程
### 1. 理解问题
在开始解决问题之前,首先需要对问题进行理解。Java最大独立集问题是在一个图中找到一个最大的节点集合,使得这些节点之间没有边相连。可以用数学公式表示为:对于一个无向图G=(V,E),找到一个最大的节点集合S,使得对于S中的任意两个节点u和v,都不存在一条边(u,v)。
### 2. 问题建模
在解决问题之前,需要将问题转化为计算机
原创
2023-08-04 15:56:12
73阅读
问题描述老张和老王酷爱爬山,每周必爬一次香山。有次两人为从东门到香炉峰共有多少条路径发生争执,于是约定一段时间内谁走过对方没有走过的路线多谁胜。 给定一线路图(无向连通图,两顶点之间可能有多条边),编程计算从起始点至终点共有多少条独立路径,并输出相关路径信息。注:独立路径指的是从起点至终点的一条路径中至少有一条边是与别的路径中所不同的,同时路径中不存在环路。输入形式图的顶点按照自然数(0,1,2,
转载
2024-04-30 20:06:34
112阅读
方格取数(2)Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3663 Accepted Submission(s): 1148
Proble
转载
2024-04-25 09:17:14
147阅读
这题大白书例题 :Frank 是一个思想有些保守的高中老师,有一次,他需要带一些学生出去旅行,但又怕其中一些学生在旅途中萌生爱意。为了降低这种事情的发生概率,他决定确保带出去的任意两个学生至少要满足下面4条中的一条 1 身高相差大于40 2 性别相同 3 最喜欢的音乐属于不同的类型 4 ...
原创
2021-07-28 11:49:24
46阅读
Girls and Boys Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 7044 Accepted Submission(s): 31
转载
2017-05-18 19:29:00
161阅读
2评论
Problem Description the second year of the university somebody started a study on the romantic relations between the students. The relation “romantica
转载
2020-08-11 21:06:00
108阅读
2评论
题意:给你 n 个人的 性别 身高, 喜欢的运动和音乐。 告诉你一些两个人能在一起的条件, 问 最多多少人 在一起?思路:有性别之分。可以建成一个二分图。然后反向建边, 如果男i 和 女j 不能再一起 就连一条边。然后这样, 二分图的最大独立集 就是 答案。 所有人都不连边, 所有人都可以在一起。总
原创
2023-05-15 00:10:13
83阅读
人拆成两个人进行最大匹配。由于一个拆成两个,所以最大匹配数应该是求出来的数
原创
2023-05-29 18:18:13
51阅读
思路: 棋盘是个二分图 那就把一个可以走的白点 向所有可以走的黑点连边 跑一个最大匹配 (匹配上了就代表这两个点不能共存) 最大独立集=sum-最大匹配
转载
2017-04-01 07:44:00
45阅读
2评论
## 二分图的最小顶点覆盖 最大独立集 最大团 重要结论写在最前面: - ① 最小顶点覆盖等于二分图的最大匹配 - ② 最大独立集=所有顶点数-最小顶点覆盖 - ③ 二分图的最大团=补图的最大独立集 ### 一、二分图的最小顶点覆盖 **定义**:假如选了一个点就相当于覆盖了以它为端点的所有边。最小
原创
2023-08-07 08:08:41
420阅读
二分图的最小顶点覆盖 定义:假如选了一个点就相当于覆盖了以它为端点的所有边。最小顶点覆盖就是选择最少的点来覆盖所有的边。 方法:最小顶点覆盖等于二分图的最大匹配。 我们用二分图来构造最小顶点覆盖。 对于上面这个二分图,顶点分为左右两个集合,X集合包含1,2,3,4,Y集合包含5,6,7,8,9.假如
原创
2021-09-05 15:02:24
614阅读
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2768思路:把喜欢cat的和喜欢dog的看成两个集合,如果这两个集合有冲突,即cat.love==dog.hate或者cat.hate==dog.love,这连边,代表有矛盾,那么最后的结果不就是求一下最大独立集吗。最大独立集=顶点数-最大匹配。 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<string> 5 #include<algorithm&g
转载
2013-06-05 16:57:00
38阅读
2评论
一、内容给定一个 N*M 的棋盘,有一些格子禁止放棋子。问棋盘上最多能放多少个不能互相攻击的骑士(国际象棋的“骑士”,类似于中国象棋的“马”,按照“日”字攻击,但没有中国象棋“别马腿”的规则)。输入格式第一行包含三个整数N,M,T,其中T表示禁止放置的格子的数量。
原创
2021-08-27 14:34:20
319阅读
Solution根据一些逝去的记忆可以得到一个 DP 状态:\(f_{u,x,y}\) 表示 \(u\) 这棵子树,\(x\) 从子树出去,\(y\) 进来这棵子树。然后讨论一下状态转移,可以暴力枚举状态,暴力枚举之后发现一件事情,\(u,ls,rs\) 三个状态中至少一个包含 \(u\),然后可以想到枚举三条边的执行顺序,这样子状态转移是确定的,可以
转载
2024-07-22 17:07:17
48阅读
Girls and Boys Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 10500 Accepted Submission(s): 48
原创
2021-07-21 15:27:24
275阅读
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1068思路:最大独立集 == |P| 减 【最大匹配(双向建图)】/2还是用的vector建邻接表。。。速度比较快。。。View Code 1 #include<iostream> 2 #include<vector> 3 const int N=507; 4 using namespace std; 5 int lx[N],ly[N]; 6 bool mark[N]; 7 vector<int>map[N]; 8 int n; 9 10 int dfs(int
转载
2013-04-04 17:44:00
74阅读
2评论