疊加計演算法
① 數列疊加法是怎麼算的舉個例子
LZ您好
疊加法顧名思義就是形如
a[n]-a[n-1] =f(n) 求a[n]
其中f(n)是一個典型等差或者等比或者相對容易求S[n]的數列
舉例...
a[n]=4n+a[n-1],a1=1,求通項
那麼
a[n]-a[n-1]=4n
a[n-1]-a[n-2]=4(n-1)
a[n-2]-a[n-3]=4(n-2)
......
a[2]-a[1]=8
把上述n-1個式子全部相加(注意是n-1個式子,不是n個!)
a[n]-a[1]=4n + 4[n-1] +... +8
a[n]-1 = 8(n-1) + (n-1)(n-2)*4/2
a[n]=8n-8 + 2(n² -3n +2)+1
a[n]=2n² +2n -3
PS1:本題有其他辦法求a[n],因為他是一個形如a[n]=ka[n-1]+f(n)的式子,可以構造法得到答案.
PS2: 如果a[n]/a[n-1]=f(n),你可以類比得到累積法!在此就不做說明了.
② 什麼是疊乘法和疊加法
疊加法如:已知an=a(n-1)+n,a1=a(a已知),求{an}通項公式.
an=a(n-1)+n
a(n-1)=a(n-2)+n...(n>2)
a2=a1+2=a+2
上式疊加,可消去a(n-1),a(n-2)...a2,
得an=n+(n-1)+(n+2)+...+2+a=a+(n-1)*(n+2)/2
疊乘法:已知an=a(n-1)*2的n次方a1=a(a已知),求{an}通項公式.
an=a(n-1)*2的n次方
a(n-1)=a(n-2)*2的n-1次方(n>2)...
a2=a1*2的2次方=a*2的2次方
上式左右分別相乘,得an=a*2的(n+n-1+n-2+...+2)次方=a*2的(n-1)*(n+2)/2
次方