算法—差分

1.一维差分(实质:前缀和的逆运算)

给区间[l, r]中的每个数加上cB[l] += c, B[r + 1] -= c
image
上述操作可以免去构造一个新数组,可以直接给差分赋值

2.二维差分

给以(x1, y1)为左上角,(x2, y2)为右下角的子矩阵中的所有元素加上C
S[x1, y1] += c, S[x2 + 1, y1] -= c, S[x1, y2 + 1] -= c, S[x2 + 1, y2 + 1] += c

优点:将o(n)复杂度优化成o(1)的复杂度;

posted @   Eric`  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示