gwl999

博客园 首页 新随笔 联系 订阅 管理
  34 随笔 :: 0 文章 :: 0 评论 :: 2067 阅读

5.8


差分数组:

主要公式思想:

  • 差分就是求前缀和的逆向,b[i]=a[i]-a[i-1];就是a是后面的减去前面的就是差分

  •  b[i] = a[i] - a[i - 1];//构造差分数组
     a[i]= b[i]+a[i-1];//还原差分数组

差分矩阵:

  • 主要思想:

  • 二维差分矩阵的构造:

  •       b[i][j]=a[i][j]-a[i][j-1]-a[i-1][j]+a[i-1][j-1]
          a[i][j]=a[i][j-1]+a[i-1][j]-a[i-1][j-1]+b[i][j];
  • 其次就是对于某一个区间x1,y1->x2,y2上所有加上常数c

  • 核心思想

  •         b[x1][y1]+=c;//x1,y1->x2,y2下所有面积+c
            b[x1][y2+1]-=c;//x1,y2->x2,x2下面所有区域-c;
            b[x2+1][y1]-=c;//x2,y1->x2,y2下面区域-c
            b[x2+1][y2+1]+=c;//将同时减去的共同区域+c;


 

 

图片来源

AcWing 798. 差分矩阵 【 c++详细题解 】 - AcWing

posted on   呓雫  阅读(109)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示