leetcode:1579. 保证图可完全遍历【并查集思路】
创始人
2024-03-06 13:08:27
0

目录

  • 题目截图
  • 题目分析
  • ac code
  • 总结

题目截图

在这里插入图片描述

题目分析

  • 从删除比较难,考虑增加
  • 增加的过程中无用的边就可以删除
  • 考虑alice和bob各自的联通分量
  • 最后希望都是1,一开始都是n
  • 如果将两个独立的联通分量连起来了,那么连通分量个数减1
  • 这里很明显就是用并查集了
  • 公共边的贡献最大,先考虑;独立的边后考虑
  • alice和bob各自维护一个并查集
  • 如果当前的边确实可以达到合并两个联通分量的目的,加进来;否则ans += 1
  • 最后看a和b维护的并查集的连通分量个数是否都是1即可
  • 需要在并查集的merge中判断xy是否已经同属一个联通分量,返回True或者False

ac code

class UnionFind:def __init__(self, n):self.parent = list(range(n))self.cnt = n # 连通块个数def find(self, a):acopy = awhile a != self.parent[a]:a = self.parent[a]while acopy != a:self.parent[acopy], acopy = a, self.parent[acopy]return adef merge(self, a, b):# 这是一个无用的合并if self.find(b) == self.find(a):return False# 这是一个有用的合并self.parent[self.find(b)] = self.find(a)self.cnt -= 1return Trueclass Solution:def maxNumEdgesToRemove(self, n: int, edges: List[List[int]]) -> int:# edges预处理为[0, n - 1]for i in range(len(edges)):edges[i][1] -= 1edges[i][2] -= 1# 加入两个并查集ufa, ufb = UnionFind(n), UnionFind(n)# 记录删除无用边的总个数ans = 0 # 先看公共边for t, u, v in edges:if t == 3:flag1 = ufa.merge(u, v)flag2 = ufb.merge(u, v)# 都没有用才不要这个公共边# 否则它的贡献至少是独有边if not flag1 and not flag2:ans += 1else:pass# 再看单独边for t, u, v in edges:if t == 1:if not ufa.merge(u, v):ans += 1elif t == 2:if not ufb.merge(u, v):ans += 1#print(ufa.parent)#print(ufb.parent)if ufa.cnt != 1 or ufb.cnt != 1:return -1return ans

总结

  • 由删除变成增加
  • 并查集模板修改,联通分量统计
  • 边的优先级

相关内容

热门资讯

学习经验交流发言稿 学习经验交流发言稿一年级的学弟学妹们:你们好!上周日晚上,学校通知我让我来给大家做学习经验交流,我听...
学生会文体部竞选稿 学生会文体部竞选稿大家好,我是XX,隶属XXX班,现任学委一职。在文艺魅力的驱使下,我与她有着很深的...
《海上日出》优秀说课稿 《海上日出》优秀说课稿  作为一名老师,就有可能用到说课稿,借助说课稿可以有效提高教学效率。我们应该...
中班的数学《梯形》活动说课稿 中班的数学《梯形》活动说课稿范文  作为一名教学工作者,时常需要用到说课稿,通过说课稿可以很好地改正...
古诗咏柳的说课稿 古诗咏柳的说课稿范文(精选5篇)  作为一名默默奉献的教育工作者,有必要进行细致的说课稿准备工作,借...
高中运动会加油稿 运动场上,运动健儿在跑道上跑着,只为争取那胜利的光芒,高中运动会加油稿。2017高中运动会加油稿范文...
《世上只有一个我》公开课的评... 《世上只有一个我》公开课的评课稿  聆听了王红军老师的作文示范课《世上只有一个我》之后,让我印象深刻...
《购物》说课稿 《购物》说课稿  作为一位兢兢业业的人民教师,总归要编写说课稿,说课稿有助于提高教师理论素养和驾驭教...
小学生教师节朗诵稿 小学生教师节朗诵稿范文(通用21首)  在日新月异的现代社会中,说到朗诵稿,大家肯定都不陌生吧,朗诵...
《我的母亲》说课稿 《我的母亲》说课稿  一、说教材  1、教材分析与教学目标的确立  《我的母亲》是苏教版第三单元“至...
级新生开学典礼发言稿 级新生开学典礼发言稿尊敬的院领导、老师们、同学们:大家好!今天是2005级新生开学典礼,这是一个喜庆...
《学会合理消费》说课稿 《学会合理消费》说课稿  本课的题目是《学会合理消费》。下面我从教材地位、教学目标、重难点、教学手段...
小学新教师代表发言稿 小学新教师代表发言稿小学新教师代表发言稿大家好,我是我们学校的新教师喻俊伟,今天在此做新教师代表发言...
《爱迪生救妈妈》说课稿 《爱迪生救妈妈》说课稿范文(精选3篇)  作为一位杰出的教职工,有必要进行细致的说课稿准备工作,借助...
《桂花雨》的说课材料 《桂花雨》的说课材料范文  还是在六月初,偶然在报纸读到一条消息:现代著名女作家、在华语文坛享有盛誉...
《这儿真好》说课稿 《这儿真好》说课稿  在教学工作者实际的教学活动中,就不得不需要编写说课稿,写说课稿能有效帮助我们总...
《十六年前的回忆》说课稿 《十六年前的回忆》说课稿范文(精选3篇)  作为一名教师,常常要根据教学需要编写说课稿,写说课稿能有...
青春有约广播稿 青春有约广播稿  广播在校园内常见到,而广播稿就是为了广播需要而准备的草稿,通过无线电波或导线传送声...
《角的初步认识》说课材料 《角的初步认识》说课材料  本节课的教学内容是小学数学二年级上册(西师版)第二单元“角的初步认识”中...
妹妹给哥哥婚礼讲话稿 妹妹给哥哥婚礼讲话稿(通用5篇)  在不断进步的时代,需要使用讲话稿的情况越来越多,讲话稿是应用写作...