随笔分类 -  算法总结

摘要:零、基础: 1、图的存储方式: 1)、邻接表: vector<int> h(n, -1); // 邻接表表头指针 vector<int> ne(n); // next指针 vector<int> e(n); // value vector<int> w(n); // 边的权值,有时不需要 int i 阅读全文
posted @ 2020-11-26 18:51 macguz 阅读(174) 评论(0) 推荐(0) 编辑
摘要:带权并查集是普通并查集的进阶版本,功能更加强大。 普通并查集只能判断两个元素是否在一个集合中,带权并查集可以维护集合元素之间的关系,这个关系由每个元素的权值维护。 对权值的维护,我们需要在find(),unite()操作中分别进行修改。 例:399. 除法求值 class UnionFind { p 阅读全文
posted @ 2020-11-12 10:55 macguz 阅读(634) 评论(0) 推荐(0) 编辑
摘要:并查集是一个非常优雅简洁的,相对高级的数据结构,常常用于元素分组问题。 对于并查集的介绍和推导这里不细说,推荐看Pecco的算法学习笔记。这里主要记录我使用并查集刷题的模板和技巧。 一、什么时候使用并查集? 个人认为并查集可以用在图中,可以用来求取图中的连通分量。当然题目不一定会直接给出图的数据结构 阅读全文
posted @ 2020-11-05 17:26 macguz 阅读(162) 评论(0) 推荐(0) 编辑
摘要:一、什么时候使用二分?: ​ 大部分人接触二分应该二分查找算法,二分查找可以在一个有序区间中,找到指定的元素x的下标。 这里有两点:1、区间是有序的,即区间要满足一定条件。2、我们要找的数也有一定条件,二分查找要求找的数一定要等于x。 ​ 我们再看两题: AcWing.789.数的范围: 题目给出的 阅读全文
posted @ 2020-10-25 17:32 macguz 阅读(309) 评论(1) 推荐(1) 编辑

点击右上角即可分享
微信分享提示