当前位置: 首页 > article >正文

C++算法——差分

1.差分

差分与前缀和的核心思想相同,是预处理,可以在暴力枚举的过程中,快速给出查询的结果,从而优化时间复杂度。

是经典的用空间替换时间的做法

2.一维差分数组

前缀和与差分是⼀对互逆的运算,对差分数组做前缀和运算可以得到原数组。

给定一个数组,对这个数组中某段区间的元素多次进行同时加一个数的操作,如这类的问题,就可以使用差分数组的算法来解决。

模板题目;【模板】差分

进阶题目:P3406 海底高铁 - 洛谷

3.二维差分数组

作用:快速处理“将二维数组中,某一个子矩阵统一加上一个元素”的操作,可以达到O(1)的时间复杂度

性质:对差分矩阵进行前缀和运算后,能够还原出修改之后的原始矩阵。

3.1模板题目

【模板】二维差分

创建差分矩阵也很简单,在全局范围创建二维数组,此时数组每个值都是0,初始化原始矩阵时,每初始化一个元素,就相当于在这个范围中同时加上了一个k,此时差分矩阵进行对应的操作即可。


http://www.kler.cn/a/579278.html

相关文章:

  • 从 GitHub 批量下载项目各版本的方法
  • 复合机器人:重新定义生产流程的核心引擎
  • Oracle SQL优化实战要点解析(11)——索引、相关子查询及NL操作(1)
  • 基于Spring Boot的城市垃圾分类管理系统的设计与实现(LW+源码+讲解)
  • 深度学习驱动的智能化革命:从技术突破到行业实践
  • Redis篇:基础知识总结与基于长期主义的内容更新
  • 降级选型啊
  • [数据结构算法递归]另一棵树的子树
  • IMX6ULL驱动开发Linux篇02——移植Rootfs
  • 如何在unity中完整录制一段动画
  • Python数据可视化创意分享:探索数据背后的故事
  • 跟踪性能提高11%|端到端新架构DMAD:通过分离语义-运动学习解决负迁移难题
  • C++ 数据结构详解及学习规划
  • Unity RenderFeature Configure和OnCameraSetup之区别
  • Python 数据可视化
  • Windows11下玩转 Docker
  • 数据结构第八节:红黑树(初阶)
  • 使用数据库和缓存的时候,是如何解决数据不一致的问题的?
  • MyBatis 中常用的 SQL 语句
  • 运动控制卡--概述学习