单调栈-MonotoneStack
单调栈引用链接: LeetCode算法通关手册-单调栈 Oi-wiki-单调栈 单调栈是一种数据结构,通常用于解决某些与数组或序列中的顺序相关的问题。它主要用于保持一个栈中的元素以单调递增或单调递减的顺序,因此被称为“单调栈”。单调栈特别适合解决需要在一个数组中寻找与每个元素有关的下一个更大(或更小)元素的问题,典型例子包括 “下一个更大元素”、”下一个更小元素” 等。 何为单调栈?顾名思义,单调栈即满足单调性的栈结构。与单调队列相比,其只在一端进行进出。 为了描述方便,以下举例及伪代码以维护一个整数的单调递增栈为例。 过程 插入 将一个元素插入单调栈时,为了维护栈的单调性,需要在保证将该元素插入到栈顶后整个栈满足单调性的前提下弹出最少的元素。 例如,栈中自顶向下的元素为 。 插入元素 时为了保证单调性需要依次弹出元素 ,操作后栈变为 。 用伪代码描述如下: 1234insert xwhile !sta.empty() && sta.top()<x ...
并查集Union-Find-algorithm
并查集(Union-Find)是一种用于处理动态连通性问题的数据结构。它通常用来处理像网络连通性、集合合并等问题。并查集操作高效,尤其适用于需要频繁进行合并和查询的情景,具有接近常数时间复杂度。 以下是对并查集的详细解释,包括它的基本概念、实现步骤,以及C++代码示例。 1.并查集的基本概念并查集的主要功能有两个: 查找(Find):确定某个元素属于哪个集合。 合并(Union):将两个元素所在的集合合并为一个集合。 并查集通常通过树结构实现,每个元素都指向它的父节点,通过这种方式可以追溯到树的根节点。 父节点(Parent):并查集中每个元素有一个指向其父节点的指针。 根节点(Root):在并查集中,一个集合可以看作是一棵树的形式,根节点是整个树的代表元素。 优化策略为了提高并查集操作的效率,通常会使用以下两个重要的优化技巧: 路径压缩(Path Compression):在执行查找操作时,将访问的节点直接连接到根节点,以减少树的深度。 按秩合并(Union by Rank 或 Union by...
HexoWriteGuide
hexo官方文档 butterfly帮助文档 butterfly官方文档 Hexo介绍Hexo 是一个基于 Node.js 的快速、简洁且高效的静态博客框架,常被用来搭建个人博客或技术博客。以下是对 Hexo 的简单介绍: 核心特点 静态站点生成: Hexo 可以将 Markdown 文件转换为静态的 HTML 页面,这些页面可以直接部署到静态文件托管服务(如 GitHub Pages、Netlify)。 速度快: Hexo 使用 Node.js 提供高效性能,支持快速生成成千上万篇文章的静态文件。 支持 Markdown: 使用简单且流行的 Markdown 语法撰写文章,提升写作效率。 主题丰富: Hexo 社区提供了大量主题,可以通过配置文件快速切换,满足不同用户的个性化需求。 插件生态: Hexo 拥有丰富的插件库,可扩展功能如 SEO 优化、RSS 支持、站点地图生成等。 支持多种部署方式: 内置一键部署到 GitHub Pages、GitLab Pages 或其他静态文件托管服务。 Hexo 的基本工作流程 安装 Hexo: 使用 npm 安装...
《J_l》
志不立,天下无可成之事。 知而不行,只是未知。 千圣皆过影,良知乃吾师。 破山中贼易,破心中贼难。 此心光明,亦复何言 ——王阳明 语记录 Project Moon《边狱巴士》 让我看看,你的梦有多么远大。 —— 堂吉诃德 我理解了你的梦。现在……将向着那崇高而遥远的梦,再次开始冒险。 —— 桑丘 “我,唐吉诃德,以我的名誉发誓:这只长矛将终结你这荒唐而又幼稚的梦想!”“吾名 桑丘!”“而我,桑丘,以我的名誉发誓:这只长矛将终结你那化脓腐败的怠惰之梦!”【...