个人简介

Echo Blog


江湖无名 安心练剑
  • leetcode offline-query-optimize 离线查询优化-07-difference-constraints 差分约束
    chat 详细介绍一下 差分约束 什么是差分约束? 差分约束是一种数学模型,用于解决线性不等式形式的问题。其一般形式为: xj - xi <= c 其中: xi 和 xj 是变量。 c 是常数。 差分约束问题的目标是: 判断是否存在一组变量值使所有不等式成立。 如果存在解,求出这些变量的最小值或最大值。 常见应用场景 最短路径问题:每...
    2020-06-08 07:13:08 | Algorithm
  • leetcode offline-query-optimize 离线查询优化-06-BIT 树状数组
    chat 详细介绍一下 BIT 树状数组 什么是树状数组 (BIT)? 树状数组(Binary Indexed Tree,简称 BIT)是一种高效的数据结构,主要用于处理前缀和相关的问题。 它支持以下操作: 前缀查询:查询数组从索引 1 到索引 i 的前缀和。 单点更新:将数组的某个元素增加或减少一个值。 树状数组的时间复杂度为 (O(\log n)),适合动态维护数...
    2020-06-08 07:13:08 | Algorithm
  • leetcode offline-query-optimize 离线查询优化-05-线段树 segment tree
    chat 详细介绍一下 线段树 什么是线段树? 线段树是一种二叉树数据结构,用于快速处理数组的区间查询和区间更新操作。 它将一个数组分为多个区间,每个节点保存一个区间的信息,可以在 (O(\log n)) 的时间内完成以下操作: 区间查询:如查询区间 [l, r] 的和、最大值、最小值等。 区间更新:如将区间 [l, r] 的值增加、减少或直接赋值。 线段树的特点...
    2020-06-08 07:13:08 | Algorithm
  • leetcode offline-query-optimize 离线查询优化-04-逆序查询 reverse query
    chat 详细介绍一下逆序查询 逆序查,通常指的是在计算机科学中,对于一个给定的数组或序列,计算其中逆序对的数量。 逆序对是指在数组中任意两个元素,如果它们的索引顺序与值的顺序相反,即前面的元素值大于后面的元素值,那么这两个元素构成一个逆序对。 逆序对的概念在算法竞赛和数据结构中非常重要,尤其是在涉及到排序和优化问题时。 逆序查的定义 在一个序列中,如果存在两个不同的索引 (i)...
    2020-06-08 07:13:08 | Algorithm
  • leetcode offline-query-optimize 离线查询优化-03-并查集(Disjoint Set Union, DSU)
    chat 详细介绍一下 并查集 并查集(Disjoint Set Union, DSU)详解 并查集是一种树型数据结构,用于处理动态连通性问题,例如: 判断两个元素是否在同一集合中。 合并两个集合。 并查集广泛应用于图的连通性、最小生成树(如 Kruskal 算法)、动态连通性问题等。 基本思想 并查集将集合表示为一棵森林,其中每个集合是由一棵树表示: 每个...
    2020-06-08 07:13:08 | Algorithm
  • leetcode offline-query-optimize 离线查询优化-02-莫队算法(Mo's Algorithm)
    chat 详细介绍一下 莫队算法(Mo’s Algorithm) 莫队算法(Mo’s Algorithm)详解 莫队算法是一种高效的离线算法,专门用于解决区间查询问题。 通过对查询进行排序,结合滑动窗口的思想,可以显著降低算法复杂度。 基本思想 莫队算法通过以下步骤高效处理查询: 重排查询顺序:按一定规则排序查询,减少移动范围时的重复计算。 滑动窗口:维护一个动态区...
    2020-06-08 07:13:08 | Algorithm
  • leetcode 离线查询优化-01-力扣.1906 查询绝对值差的最小值 7种解法 leetcode.1906 minimum-absolute-difference-queries
    题目 一个数组 a 的 差绝对值的最小值 定义为:0 <= i < j < a.length 且 a[i] != a[j] 的 a[i] - a[j] 的 最小值。 如果 a 中所有元素都 相同 ,那么差绝对值的最小值为 -1 。 比方说,数组 [5,2,3,7,2]...
    2020-06-08 07:13:08 | Algorithm
  • leetcode offline-query-optimize 离线查询优化
    chat 离线查询优化 是什么? 在解决一些力扣(LeetCode)上的算法问题时,离线优化是一种非常重要的技巧,尤其适用于那些允许我们先全部获取查询(queries)并按某种顺序处理的场景。 这种方法的核心思想是:通过在处理前对查询进行排序或重组,结合其他数据结构或算法,使得整体复杂度得以显著降低。 离线优化的核心思想 获取所有数据(查询):离线优化通常要求一次性拿到所有的输...
    2020-06-08 07:13:08 | Algorithm