CF1634 F. Fibonacci Additions
Posted solemntee
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CF1634 F. Fibonacci Additions相关的知识,希望对你有一定的参考价值。
题意:
q
q
q次操作,每次给数组
A
A
A或者
B
B
B的
[
l
,
r
]
[l,r]
[l,r]位置加上一个斐波那契数列,问每次操作之后
A
B
AB
AB数组是否相同
考虑斐波那契的生成函数
f
(
x
)
=
1
+
1
x
+
2
x
2
+
.
.
.
+
f
i
b
i
−
1
x
i
+
.
.
.
=
∑
i
=
0
f
i
b
i
+
1
x
i
x
f
(
x
)
=
∑
i
=
1
f
i
b
i
x
i
,
x
2
f
(
x
)
=
∑
i
=
2
f
i
b
i
−
1
x
i
f
(
x
)
−
x
f
(
x
)
−
x
2
f
(
x
)
=
1
f
(
x
)
=
1
1
−
x
−
x
2
f(x)=1+1x+2x^2+...+fib_i-1x^i+...=\\sum_i=0fib_i+1x^i\\\\ xf(x)=\\sum_i=1fib_ix^i,x^2f(x)=\\sum_i=2fib_i-1x^i\\\\ f(x)-xf(x)-x^2f(x)=1\\\\ f(x)=\\frac 1 1-x-x^2
f(x)=1+1x+2x2+...+fibi−1xi+...=i=0∑fibi+1xixf(x)=i=1∑fibixi,x2f(x)=i=2∑fibi−1xif(x)−xf(x)−x2f(x)=1f(x)=1−x−x21
如果把
A
,
B
A,B
A,B看做两个多项式
A
(
x
)
=
∑
i
=
1
n
a
i
x
i
B
(
x
)
=
∑
i
=
1
n
b
i
x
i
A(x)=\\sum_i=1^na_ix^i\\\\ B(x)=\\sum_i=1^nb_ix^i
A(x)=i=1∑naixiB(x)=i=1∑nbixi
那么在
A
A
A数组
[
l
,
r
]
[l,r]
[l,r]位置加上一个斐波那契数列就相当于
A
(
x
)
+
=
x
l
f
(
x
)
−
f
i
b
r
−
l
+
2
x
r
f
(
x
)
−
f
i
b
r
−
l
+
1
x
r
+
1
f
(
x
)
⟺
A
(
x
)
+
=
x
l
1
1
−
x
−
x
2
−
f
i
b
r
−
l
+
2
x
r
1
1
−
x
−
x
2
−
f
i
b
r
−
l
+
1
x
r
+
1
1
1
−
x
−
x
2
A(x)+=x^lf(x)-fib_r-l+2x^rf(x)-fib_r-l+1x^r+1f(x)\\\\ \\iff A(x)+=x^l\\frac 1 1-x-x^2-fib_r-l+2x^r\\frac 1 1-x-x^2-fib_r-l+1x^r+1\\frac 1 1-x-x^2
A(x)+=xlf(x)−fibr−l+2xrf(x)−fibr−l+1xr+1f(x)⟺A(x)+=xl1−x−x21−fibr−l+2xr1−x−x21−fibr−l+1xr+11−x−x21
两边同乘
(
1
−
x
−
x
2
)
(1-x-x^2)
(1−x−x2)
⟺
(
1
−
x
−
x
2
)
A
(
x
)
+
=
x
l
−
f
i
b
r
−
l
+
2
x
r
−
f
i
b
r
−
l
+
1
x
r
+
1
\\iff (1-x-x^2)A(x)+=x^l-fib_r-l+2x^r-fib_r-l+1x^r+1
⟺(1−x−x2)A(x)+=xl−fibr−l+2xr−fibr−l+1xr+1
每次修改复杂度就降为
O
(
1
)
O(1)
O(1)
然后考虑
(
1
−
x
−
x
2
)
A
(
x
)
(1-x-x^2)A(x)
(1−x−x2)A(x)的实际意义,即构造一个辅助数组
D
D
D
D
i
=
A
i
−
A
i
−
1
−
A
i
−
2
D_i=A_i-A_i-1-A_i-2
Di=Ai−Ai−1−(2016弱校联盟十一专场10.5) F. Fibonacci of Fibonacci