自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 力扣(leetcode)#1579 保证图可完全遍历(#4)

题目 原题链接:力扣(LeetCode)#1579 解析 还是并查集。。说实话,要做吐了。 本人的思想是维护两个连通集合Alice和Bob,一人一个。 关键点在于要进行两轮循环,首先判断公共边,如果公共边多了,就增加可以减去的边数。 第二轮循环进行独有边的判断。 考虑一下,两个顶点之间存在三种类型的边,并且该边不能全部省略,那么减去Alice和Bob两条独占边显然是最合算的。 代码 class Solution { private: int cnt1,cnt2,rest1,rest2; in

2021-01-27 18:02:52 84

原创 力扣(leetcode)#959 由斜杠划分区域(#3)

题目 原题链接:力扣(LeetCode)#1319 解析 依然是并查集维护连通分量的问题,本题主要难点在于如何划分连通分量。 将每一个1*1的小方格都按照这个模式进行划分: 如果grid[i][j]=‘\\’,那么是1和2进行合并,0和3进行合并 如果grid[i][j]=‘/’,那么是0和1进行合并,2和3进行合并 如果grid[i][j]=‘ ’,那么是0,1,2,3合并 上面是三种内部合并的情况讨论。 接下来讨论小方格之间的合并问题: 对于2号区域可以和右边一个小方格的0号区域进行合并 对于3

2021-01-25 17:28:13 122 1

原创 力扣(leetcode)#1319 连通网络的操作次数(#2)

题目 原题链接:力扣(LeetCode)#1319 解析 并查集模板题。 需要注意的是N个连通分量,至少需要N-1条边进行连接。 最开始将每个节点视为一个连通分量,如果进行了合并就将连通分量的数量减少一个,否则继续判断。当遍历完connections的时候,如果还剩余K个连通分量,那么至少还需要K-1条边,K-1也就是答案。 代码(含注释) class Solution { //n个连通分量至少需要n-1条线 private: int *a; int cnt;//当前剩余连接的电脑数

2021-01-24 09:38:42 149

原创 力扣(leetcode)#1584 连接所有点的最小费用(#1)

力扣(leetcode)#1584 连接所有点的最小费用(#1) 题目 原题链接:力扣(LeetCode)#1584 解析 利用Kruskal 算法生成最小生成树,利用并查集,路径压缩等知识。 代码(含注释) class Solution { private: int n;//点的个数 struct edge { int s,e;//开始和结束的点 int w;//权重 }; edge e[1000005];//数组要开大些,不然会爆

2021-01-19 21:27:09 194

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除