[洛谷P5517] [MtOI2019]幻想乡数学竞赛

前言

大概是去年没学数列的时候看到的题,现在重新看发现我当时是个sb。

WARNING: 式子都是从草稿纸上抄的,错了别找我。但是思路肯定是对的。

题目

洛谷

\(a_0=-3,a_1=-6,a_2=-12,a_n=3a_{n-1}+a_{n-2}-3a_{n-3}+3^n\),取模 \(p=10^9+7\)

\(T\) 组随机询问 \(n_i\),输出所有答案异或和。

\(1\le T\le 2\times 10^7;0\le n_i<2^{64}.\)

讲解

当年的我请教了各路神仙,试图学习了包括特征根在内的各种方法 当然最后都失败了

什么毒瘤题,不做了!

现在一看:诶,小清新数学题!

\(a_n=3a_{n-1}+a_{n-2}-3a_{n-3}+3^n\)

\(\Rightarrow a_n-a_{n-2}=3(a_{n-1}-a_{n-3})+3^n\)

\(b_n=a_{n+2}-a_{n},b_{n+1}=3b_{n}+3^{n+3}\)

\(\Rightarrow \frac{b_{n+1}}{3^{n+1}}=\frac{b_n}{3^n}+3^2\) (这里是经典套路)

\(c_{n} = \frac{b_n}{3^n}\),则有 \(c_{n+1}=c_{n}+9,c_0=\frac{b_0}{3^0}=a_2-a_0=-9\) (怀疑出题人没学过数列,因为数列没有第 \(0\) 项)

\(\Rightarrow c_n = 9n-9,b_n = (9n-9)\times 3^{n}\)

\(a_n = b_{n-2}+b_{n-4}+...+b_{n\%2}+a_{n\%2}\) (这里写mod太丑,我换成了%)

其实讲到这里已经差不多了,但是我还是想讲一下 \(\sum b_i\) 怎么算。

其实可以发现 \(\sum b_i\) 后半部分其实就是 \(-9\times \sum 3^i\) 的形式,可以直接用等比数列求和公式算,稍微有点麻烦的是前面 \(\sum n\times 3^n\) 的形式的式子。

\(T_n = 1\times 3^1+2\times 3^2+...+n\times 3^n\),则 \(T_1=3\)

\(\Rightarrow T_{n+1}=3T_{n}+(3+3^2+...+3^{n+1})=3T_n+\frac{3}{2}\times (3^{n+1}-1).\)

\(\Rightarrow \frac{T_{n+1}}{3^{n+1}}=\frac{T_n}{3^n}+\frac{3}{2}\times (1-\frac{1}{3^{n+1}})\) (梅开二度)

\(Q_n=\frac{T_n}{3^n}\),则 \(Q_1=1\)

\(\Rightarrow Q_{n+1}=Q_n+\frac{3}{2}\times (1-\frac{1}{3^{n+1}})\)

\(\Rightarrow Q_n=1+\frac{3}{2}(n-1-(\frac{1}{3^2}+\frac{1}{3^3}+...+\frac{1}{3^{n}}))=\frac{3}{2}(n-\frac{1}{6}(1-\frac{1}{3^{n-1}})))-\frac{1}{2}=\frac{3}{2}n+\frac{3}{4}\times \frac{1}{3^n}-\frac{3}{4}\)

\(\Rightarrow T_n=(\frac{3}{2}n+\frac{3}{4}\times \frac{1}{3^n}-\frac{3}{4})\times 3^n=(\frac{3}{2}n-\frac{3}{4})\times 3^n+\frac{3}{4}\)

好了,只需要加上系数和亿点细节就行了。

由于 \(n\) 特别大,所以要用费马小定理+光速幂,时间复杂度 \(O(\sqrt{p}+T)\)

也许还需要分奇偶讨论(逃

代码

无码 /se
原文地址:https://www.cnblogs.com/PPLPPL/p/15716104.html