摘要: 并查集相关知识的整理 : 并查集是一种用于管理元素所属集合的数据结构,实现为一个森林,其中每棵树表示一个集合,树中的节点表示对应集合中的元素。 顾名思义,并查集支持两种操作: 合并(Union):合并两个元素所属集合(合并对应的树) 查询(Find):查询某个元素所属集合(查询对应的树的根节点),这 阅读全文
posted @ 2023-03-24 21:45 _Lance 阅读(89) 评论(0) 推荐(0)
摘要: 这是关于堆知识的整理 堆是一个二叉树 维护的是一个有序的二叉树 堆中某个结点的值总是不大于或不小于其父结点的值;(大根堆与小根堆) 堆总是一棵完全二叉树。 priority_queue b;//大根堆 priority_queue<int, vector, greater> s;//小根堆 这边的g 阅读全文
posted @ 2023-03-24 15:25 _Lance 阅读(75) 评论(0) 推荐(0)
摘要: 就是有不同组 ,看一道例题 !! 可以这样去想 就是去划分 每一个地方 然后去看对于不同组能不能得分 如果能那就对于该地方的值+1 依次去枚举每一个地方 这样求出最大的! #include <bits/stdc++.h> using namespace std; int a[101][101],f[ 阅读全文
posted @ 2023-03-23 19:14 _Lance 阅读(65) 评论(0) 推荐(0)
摘要: 简单二叉树 树的知识 树的遍历问题 : 1.首先是 树的先序 中序 后序遍历 主要就是中序决定了这颗树长什么样,中序找根分为左右子树,然后再不断去查找 !!!这个点挺重要的。如果是知道前序和后序而不知道根的话那就会出问题!! 因为当子节点只有一个时有两种情况!! #include <bits/std 阅读全文
posted @ 2023-03-23 19:08 _Lance 阅读(153) 评论(0) 推荐(0)
摘要: 1.这个就是在0 1 背包的条件下 加上每个物品能被多次取到! 优化方式 数学知识来优化 :并不是二进制! 首先我们要搞明白多重背包问题,总点就是状态的更新,是以一个什么方式递推过去的,举个例子如果是L[i]个物品,如果是从1-L[i]枚举过去我们不难知道其实,我们这样计算的其实是有一共ΣL[i]1 阅读全文
posted @ 2023-03-13 21:41 _Lance 阅读(102) 评论(0) 推荐(0)