首页 > 其他分享 >P5320 勘破神机

P5320 勘破神机

时间:2024-08-14 18:38:30浏览次数:10  
标签:神机 frac P5320 sqrt3 sum begin end aligned 勘破

推式子

前言:做了 \(6\) 个小时,但是全程自己推式子,写程序,值得写一篇文章纪念。

不难发现:

\[ans2=\dfrac1{r-l+1}\sum_{n=l}^r{fib_n\choose k}\\ ans3=\dfrac1{r-l+1}\sum_{n=l}^r{g_n\choose k}\\ 其中g_n=\left\{\begin{aligned} &0&&2\not|n\\ &3g_{n-2}+2\sum_{i=1}^{\frac n2-2}g_i=4g_{n-2}-g_{n-4}&&2|n \end{aligned}\right. \]

发现对于 \(ans2,ans3\) 的计算都是因为 $[l,r] $ 的范围太大了,于是考虑推式子,改变循环变量。

前置知识:

\[m^n=\sum_{i=0}^n\begin{Bmatrix}n\\i\end{Bmatrix}m^{\underline i} \]

根据斯特林反演,有:

\[m^{\underline n}=\sum_{i=0}^n(-1)^{n-i}\begin{bmatrix}n\\i\end{bmatrix}m^i \]

这是在普通幂与下降幂之间转换的好手。

考虑 \(ans2\)

\[\def\s#1#2{\begin{bmatrix}#1\\#2\end{bmatrix}} \begin{aligned} ans2&=\dfrac1{r-l+1}\sum_{n=l}^r{fib_n\choose k}\\ &=\dfrac1{(r-l+1)k!}\sum_{n=l}^rfib_n^{\underline k}\\ &=\dfrac1{(r-l+1)k!}\sum_{n=l}^r\sum_{i=0}^k(-1)^{k-i}\s kifib_n^i\\ 记res2&=(r-l+1)k!,A=\frac{1+\sqrt 5}2,B=\frac{1-\sqrt 5}2\\ \because fib_n&=\frac1{\sqrt 5}(A^{n+1}-B^{n+1})\\ \therefore res2&=\sum_{n=l}^r\sum_{i=0}^k(-1)^{k-i}\s ki5^{-\frac i2}(A^{n+1}-B^{n+1})^i\\ &=\sum_{i=0}^k(-1)^{k-i}\s ki5^{-\frac i2}\sum_{j=0}^i{i\choose j}(-1)^j\sum_{n=l}^r(A^{i-j}B^j)^{n+1}\\ 令 t&=A^{i-j}B^j\\ res2&=\sum_{i=0}^k(-1)^{k-i}\s ki5^{-\frac i2}\sum_{j=0}^i{i\choose j}(-1)^j\frac{t^{r+2}-t^{l+1}}{t-1}\\ \end{aligned} \]

注意最后特判 \(t=1\)。于是 \(\mathcal O(k^2\log r)\) 可做,但这里出现了 \(\sqrt5\),在模 \(998244353\) 的意义下不存在。不过我们知道最终结果是一个整数。于是可以新定义复数,使用 \(a+bi,i=\sqrt 5\) 的形式表示,其运算与复数运算类似。

考虑 \(ans3\)

如果要使用与上述类似的方法,首先肯定要找到 \(g_n\) 的通项。这里我使用了生成函数的方法。这里令 \(g_i\) 表示原先的 \(g_{2i}\) 方便表示。

令 \(G(x)=\sum_{i}g_ix^i\),有:

\[\begin{aligned} G(x)&=\sum_{i=2}^{\infin}(4g_{i-1}-g_{i-2})x^i+1+3x\\ &=4x\sum_ig_ix^i-x^2\sum_ig_ix^i+1-x\\ &=4xG(x)-x^2G(x)+1-x\\ \therefore G(x)&=\frac{1-x}{x^2-4x+1}\\ &=\frac{\frac{\sqrt3-1}{2\sqrt3}}{1-(2-\sqrt3)x}+\frac{\frac{\sqrt3+1}{2\sqrt3}}{1-(2+\sqrt3)x}\\ &=\sum_i(\frac{\sqrt3-1}{2\sqrt3}(2-\sqrt3)^i+\frac{\sqrt3+1}{2\sqrt3}(2+\sqrt3)^i)x^i \end{aligned} \]

所以 \(g_n=\frac{\sqrt3-1}{2\sqrt3}(2-\sqrt3)^n+\frac{\sqrt3+1}{2\sqrt3}(2+\sqrt3)^n\)

令 \(x=\frac{\sqrt3-1}{2\sqrt3},y=\frac{\sqrt3+1}{2\sqrt3},A=(2-\sqrt3),B=(2+\sqrt3)\)

\(g_n=xA^n+yB^n\),于是可以使用类似的方法做出这道题。

总复杂度:\(\mathcal O(k^2\log r)\)。

启示:

新定义复数

推式子的本质:改变循环变量

标签:神机,frac,P5320,sqrt3,sum,begin,end,aligned,勘破
From: https://www.cnblogs.com/lupengheyyds/p/18359551

相关文章

  • 童年神机小霸王(七) Mapper
    Mappermapper,这个概念来源于memorymapping,又叫做MemoryManagementCircuit,它是解决地址映射的一种电路,简单来说就是决定物理内存如何映射到CPU或者PPU的地址空间。mapper可以用来支持增加卡带的RAM甚至支持额外的音频通道,但更一般的目的就是控制物理内存到地址空间的映......
  • CentOS搭建Yunzai-Bot原神机器人
    Yunzai-Bot是目前使用较多的原神查询机器人,搭建也较为简单。现为Linux用户做一下Yunzai-Bot的搭建教程,这里以CentOS7系统为例。安装Node.js下载地址:https://node......
  • [BJOI2019]勘破神机
    题目描述定义\(f_n\)为用\(1\times2\)骨牌填满\(2\timesn\)网格的方案数,\(g_n\)为填满\(3\timesn\)网格的方案数。求:\[\frac{1}{r-l+1}\sum_{i=l}^rC_{f_i}^k/\frac{......
  • [s905l3]性价比神机mgv3000全网首拆,刷armbian实现更多价值!
    最近花55淘了一台mgv3000,s905l3,2+16G带蓝牙,真的性价比没得说S905L3工艺28nm差于s905l3a主频1.9Ghz,超频可以达到2Ghz,GPU是Mail450,当服务器跑ha,nas什么都是很不错的。而......