首页 > 其他分享 >二阶差分——进行一个等差数列的加

二阶差分——进行一个等差数列的加

时间:2023-10-02 15:11:43浏览次数:28  
标签:差分 二阶 数组 区间 d2 等差数列 d1

一般的差分用于对一段区间进行加减,但如果在该区间内加减的是一段等差数列呢?

对于一段区间 [l,r], 加一段首项为 s, 末项为 e 的等差数列。其公差 d=(s-e)/(r-l+1)

为简化问题讨论,先假设这段区间都为 0。

原数组:0 0 0 0 0 0 0
添加后的数组:0 0 4 6 8 0 0
第一次差分:0 0 4 2 2 -8 0

观察发现,对于第一次差分后的数组 d1[],d1[l]+=sd1[i]+=d l<l<=rd1[r+1]-=((r-l)*d+s)
如果仅仅进行一次差分,似乎还不是很方便。观察数组 d1[],发现对于 (l,r] 事实上又是一段区间修改。于是再次尝试进行差分。

第二次差分:0 0 4 -2 0 -10 8

观察第二次差分后的数组,尝试推导。

d1[l]=a[l]-a[l-1],a[l]+=s,d1[l]+=s;
d2[l]=d1[l]-d1[l-1],d2[l]+=s;
d2[l+1]=d1[l+1]-d1[l],d2[l+1]+=(d-s)

d1[i]+=d,l<i<=r;
d2[i]=d1[i]-d1[i-1],不变;

d1[r+1]=a[r+1]-a[r],d1[r+1]-=((r-l)*d+s);
d2[r+1]=d1[r+1]-d1[r],d2[r+1]-=s+(r-l+1)*d;
d2[r+2]=d1[r+2]-d1[r+1],d2[r+2]+=(r-l)*d+s;

d2[l]+=s;
d2[l+1]+=(d-s);
d2[r+1]-=s+(r-l+1)*d;
d2[r+2]+=s+(r-l)*d;

标签:差分,二阶,数组,区间,d2,等差数列,d1
From: https://www.cnblogs.com/pigAlg/p/17739942.html

相关文章

  • Seata XA模式一阶段为什么一直锁定资源等二阶段成功?AT模式怎么解决的这个缺陷?
    Winwin:SeataXA模式一阶段为什么一直锁定资源等二阶段成功?AT模式怎么解决的这个缺陷?兔子:Seata是一个非常强大的分布式事务解决方案,它提供了XA模式和AT模式来支持分布式事务的一致性和可靠性。关于你的问题,我们先来聊一下SeataXA模式的一阶段和二阶段,好吗?在SeataXA模式的一......
  • 基本差分算法:一维差分、二维差分
    1、一维差分首先要知道,差分是前缀和的逆运算,a1a2……an前缀和b1b2……bn差分以AcWing.797为例,题目要求如下:输入一个长度为n的整数序列。接下来输入m个操作,每个操作包含三个整数l,r,c,表示将序列中[l,r]之间的每个数加上c。请你输出进行完所有操作后的序......
  • 牛客-小Why的商品归位(差分、区间和)
    链接:https://ac.nowcoder.com/acm/contest/64384/C来源:牛客网超市里一共有\(n\)个货架,\(m\)个商品,一开始商品的位置是被打乱的,小Why需要将商品全部归位。小Why在给货架编号后,实现了每个商品所在货架必然在其应在货架之前。小Why决定手推购物车按编号顺序依次访问每个货架。......
  • Acwing393. 雇佣收银员 题解 差分约束
    题目链接:https://www.acwing.com/problem/content/description/395/解题思路:差分约束。为了方便起见,定义第\(i\)个时间段为\(i-1:00\)到\(i:00\)这个时间段。首先,为了方便开一个额外的点,令\(R_i\)对应为题目中的\(R(i+1)\),即\(R_i\)表示\(i-1:00\)到\(i:00\)这......
  • 关于梯形面积和等差数列
    1.问题今天在学习压缩存储三角矩阵的时候,由于要计算上三角前(i-1)的个数,上方呈一梯形形状,就有想法梯形面积公式和等差数列求和公式及其相似,之间有什么联系呢?2.解决引用一篇文章有关链接:https://zhuanlan.zhihu.com/p/555204644?utm_id=0......
  • R语言用逻辑回归预测BRFSS中风数据、方差分析anova、ROC曲线AUC、可视化探索
    全文链接:https://tecdat.cn/?p=33659原文出处:拓端数据部落公众号行为风险因素监测系统(BRFSS)是一项年度电话调查。BRFSS旨在确定成年人口中的风险因素并报告新兴趋势。例如,调查对象被询问他们的饮食和每周体育活动、HIV/AIDS状况、可能的吸烟情况、免疫接种、健康状况、健康日数-......
  • 差分信号隔离转换称重传感器压力应变桥信号处理隔离变送器0-10mV/0-20mV/0-±10mV/0-
    主要特性DIN11IPO压力应变桥信号处理系列隔离放大器是一种将差分输入信号隔离放大、转换成按比例输出的直流信号导轨安装变送模块。产品广泛应用在电力、远程监控、仪器仪表、医疗设备、工业自控等行业。此系列模块内部嵌入了一个高效微功率的电源,向输入端和输出端提供隔离的电源......
  • 前缀和与差分
    1.前缀和一维数组#include<iostream>usingnamespacestd;constintN=1e5+10;intmain(){intn,m,a[N],sum[N]={0};scanf("%d%d",&n,&m);for(inti=1;i<=n;i++){scanf("%d",&a[i]);sum[i]=s......
  • Poisson 方程有限差分(一维+二维)
    Poissonequationcanbewritternasfollows:\[\nabla\cdot[\epsilon(r)\nabla\phi(r)]=-q(p-n+N_D-N_A)\\\nabla\epsilon(r)\cdot\nabla\phi(r)+\epsilon(r)\nabla^2\phi(r)=-q(p-n+N_D-N_A)\]SincePoissonequationisbasedonthefinitedi......
  • #yyds干货盘点# LeetCode程序员面试金典:等差数列划分
    1.简述:如果一个数列 至少有三个元素 ,并且任意两个相邻元素之差相同,则称该数列为等差数列。例如,[1,3,5,7,9]、[7,7,7,7] 和 [3,-1,-5,-9] 都是等差数列。给你一个整数数组 nums ,返回数组 nums 中所有为等差数组的 子数组 个数。子数组 是数组中的一个连续序列。 示例1......