差分数组

闻缺陷则喜何志丹3 个月前
c++·算法·字符串·力扣·差分数组·移位·方向
【C++差分数组】2381. 字母移位 II|1793C++差分数组给你一个小写英文字母组成的字符串 s 和一个二维整数数组 shifts ,其中 shifts[i] = [starti, endi, directioni] 。对于每个 i ,将 s 中从下标 starti 到下标 endi (两者都包含)所有字符都进行移位运算,如果 directioni = 1 将字符向后移位,如果 directioni = 0 将字符向前移位。 将一个字符 向后 移位的意思是将这个字符用字母表中 下一个 字母替换(字母表视为环绕的,所以 ‘z’ 变成 ‘a’)。类似的,
闻缺陷则喜何志丹6 个月前
数据结构·c++·差分数组·区间合并·二维差分·映射差分
差分数组汇总算法与数据结构汇总令 a[i] = ∑ j : 0 i v D i f f [ i ] \sum_{j:0}^{i}vDiff[i] ∑j:0ivDiff[i] 如果 vDiff[i1]++,则a[i1…]全部++ 如果vDiff[i2]–,则a[i2…]全部–。 令11 < i2 ,则: { a [ i ] 不变,不受加减影响 i < i 1 a [ i ] 不变,加减抵消 i > = i 2 a [ i ] + + o t h e r \begin{cases} a[i]不变,不受加减影响 && i
闻缺陷则喜何志丹1 年前
c++·算法·leetcode·图论·差分数组·分类讨论·被2整除
【差分数组】【图论】【分类讨论】【整除以2】100213按距离统计房屋对数目【动态规划】【数学】【C++算法】18赛车差分数组 图论 分类讨论 整除以2给你三个 正整数 n 、x 和 y 。 在城市中,存在编号从 1 到 n 的房屋,由 n 条街道相连。对所有 1 <= i < n ,都存在一条街道连接编号为 i 的房屋与编号为 i + 1 的房屋。另存在一条街道连接编号为 x 的房屋与编号为 y 的房屋。 对于每个 k(1 <= k <= n),你需要找出所有满足要求的 房屋对 [house1, house2] ,即从 house1 到 house2 需要经过的 最少 街道数为
闻缺陷则喜何志丹1 年前
c++·数学·算法·leetcode·贪心·差分数组·最少
【数学】LeetCode1526: 形成目标数组的子数组最少增加次数【贪心算法】【中位贪心】.执行操作使频率分数最大数学给你一个整数数组 target 和一个数组 initial ,initial 数组与 target 数组有同样的维度,且一开始全部为 0 。 请你返回从 initial 得到 target 的最少操作次数,每次操作需遵循以下规则: 在 initial 中选择 任意 子数组,并将子数组中每个元素增加 1 。 答案保证在 32 位有符号整数以内。 示例 1: 输入:target = [1,2,3,2,1] 输出:3 解释:我们需要至少 3 次操作从 inti