11 2020 档案

摘要:1674. 使数组互补的最少操作次数 ​ LeetCode第217周赛的第三题,比赛时卡了一个小时,没有想到O(n)的做法。对差分不熟悉,但是最关键的还是扫描的思路没有想到。由于这道题有这么几个点比较重要,觉得应该特别记录一下。 扫描:比赛时我也想到了当选定和K处于个个区间[2, lo]、[lo, 阅读全文
posted @ 2020-11-30 17:17 macguz 阅读(221) 评论(0) 推荐(0) 编辑
摘要:零、基础: 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) 编辑
摘要:本文是哈工大操作系统课程的环境配置介绍(课程连接),其实课程有配套的实验楼实验环境,可是体验总没有自己本地做得好。本文主要介绍使用Windows系统自带的wsl进行该实验的开发。 一、WSL安装配置: ​ 这里推荐看玩转WSL(1)之认识并安装wsl、玩转WSL(2)之安装并配置Windows Te 阅读全文
posted @ 2020-11-12 21:28 macguz 阅读(598) 评论(0) 推荐(0) 编辑
摘要:带权并查集是普通并查集的进阶版本,功能更加强大。 普通并查集只能判断两个元素是否在一个集合中,带权并查集可以维护集合元素之间的关系,这个关系由每个元素的权值维护。 对权值的维护,我们需要在find(),unite()操作中分别进行修改。 例:399. 除法求值 class UnionFind { p 阅读全文
posted @ 2020-11-12 10:55 macguz 阅读(634) 评论(0) 推荐(0) 编辑
摘要:记录踩坑: ​ 做LeetCode每日一题1356. 根据数字二进制下 1 的数目排序时,遇到的坑。题目很简单,利用lowbit操作计算一个数二进制1的个数,接着自定义比较函数进行排序即可,但是C++在类中自定义比较函数不能简单地定义为成员函数,需要定义为静态成员函数。 ​ 具体看:Referenc 阅读全文
posted @ 2020-11-06 10:33 macguz 阅读(3098) 评论(0) 推荐(0) 编辑
摘要:并查集是一个非常优雅简洁的,相对高级的数据结构,常常用于元素分组问题。 对于并查集的介绍和推导这里不细说,推荐看Pecco的算法学习笔记。这里主要记录我使用并查集刷题的模板和技巧。 一、什么时候使用并查集? 个人认为并查集可以用在图中,可以用来求取图中的连通分量。当然题目不一定会直接给出图的数据结构 阅读全文
posted @ 2020-11-05 17:26 macguz 阅读(162) 评论(0) 推荐(0) 编辑
摘要:c++踩坑: ​ 例如string、vector等类型的size函数返回的是一个无符号整型数,如果在表达式中混和使用了带符号数和无符号数,将产生意想不到的结果。 ​ 带符号数将自动转换为无符号数,例如-1,由于-1的二进制表示的最高位为1,这回导致size() > -1一定会返回false。在进行判 阅读全文
posted @ 2020-11-03 10:06 macguz 阅读(740) 评论(0) 推荐(0) 编辑

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