题意:有一个数列,
a
0
=
−
3
,
a
1
=
−
6
,
a
2
=
−
12
,
a
n
=
3
a
n
−
1
+
a
n
−
2
−
3
a
n
−
3
+
3
n
a_0=-3,a_1=-6,a_2=-12,a_n=3a_{n-1}+a_{n-2}-3a_{n-3}+3^n
a0=−3,a1=−6,a2=−12,an=3an−1+an−2−3an−3+3n
T次询问,每次给出n
T
⩽
5
∗
1
0
7
T\leqslant 5*10^7
T⩽5∗107
n
在
u
n
s
i
g
n
e
d
l
o
n
g
l
o
n
g
的
范
围
内
n在unsigned\ long long的范围内
n在unsigned longlong的范围内
解法:这里介绍一个新方法
首先我们需要把该递推式弄成常系数其次线性递推式
怎么弄呢?
我们需要把
3
n
3^n
3n消去
太不好看啦
怎么消呢?
变形,
3
a
n
=
9
a
n
−
1
+
3
a
n
−
2
−
9
a
n
−
3
+
3
n
+
1
3a_n=9a_{n-1}+3a_{n-2}-9a_{n-3}+3^{n+1}
3an=9an−1+3an−2−9an−3+3n+1
a
n
+
1
=
3
a
n
+
a
n
−
1
−
3
a
n
−
2
+
3
n
+
1
a_{n+1}=3a_n+a_{n-1}-3a_{n-2}+3^{n+1}
an+1=3an+an−1−3an−2+3n+1
两个式子相减可以得到
a
n
+
1
=
6
a
n
−
8
a
n
−
1
−
6
a
n
−
2
+
9
a
n
−
3
a_{n+1}=6a_n-8a_{n-1}-6a_{n-2}+9a_{n-3}
an+1=6an−8an−1−6an−2+9an−3
接下来就是奇汁淫巧的部分了
解一下方程
x
4
=
6
x
3
−
8
x
2
−
6
x
+
9
x^4=6x^3-8x^2-6x+9
x4=6x3−8x2−6x+9
那么x=-1,1或3
且原方程可以表示为
(
x
+
1
)
(
x
−
1
)
(
x
−
3
)
(
x
−
3
)
(x+1)(x-1)(x-3)(x-3)
(x+1)(x−1)(x−3)(x−3)
于是答案便显然了
1一个重根
-1一个重根
3两个重根
每个a_n可以表示为
3
n
∗
(
x
n
+
y
)
+
c
∗
1
n
+
d
∗
(
−
1
)
n
3^n*(xn+y)+c*1^n+d*(-1)^n
3n∗(xn+y)+c∗1n+d∗(−1)n
套进
a
0
,
a
1
,
a
−
2
,
a
3
a_0,a_1,a-2,a_3
a0,a1,a−2,a3解出来就好了
于是最终答案便是
a
n
=
3
n
+
2
∗
(
4
n
−
13
)
+
36
−
15
∗
(
−
1
)
n
32
a_n=\frac{3^{n+2}*(4n-13)+36-15*(-1)^n}{32}
an=323n+2∗(4n−13)+36−15∗(−1)n
至于luogu的官方题解,看不懂看不懂
至于博主有没有过这题,不是说卡常吗?
[MtOI2019][奇汁淫巧]幻想乡数学竞赛
最新推荐文章于 2022-07-10 16:36:54 发布