zoukankan      html  css  js  c++  java
  • [洛谷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
    
  • 相关阅读:
    结对项目--四则运算“软件”之升级版
    个人项目--多元四则运算
    《构建之法》1-5章后感
    git bash的安装与配置
    随笔
    numpy数组及处理:效率对比
    完整的中英文词频统计
    组合数据类型,英文词频统计
    9.13作业2(完整温度转换、数字游戏、解析身份证号...)
    Mad Libs游戏,华氏与摄氏转换
  • 原文地址:https://www.cnblogs.com/PPLPPL/p/15716104.html
Copyright © 2011-2022 走看看