2022.1

2022.1

还是只挑了一些喜欢的题写

1.21

T1

数列 \(\{a_n\}\) 有一下递推关系

\(a_0=A\)

\(a_i=a_{i-1}+f(i)a_{\lfloor\frac{i+B}{C}\rfloor},i\geq 1\)

\(A,B,C\) 是给定常数,\(f(x)=\sum\limits_{i=0}^mp_ix^i\) 是给定的 \(m\) 次多项式。求 \(a_n\)

模数 \(1004535809\)\(n\leq 10^{18},m\leq 20,A,B,C,p_i\leq1004535809,B<C-1\)

还不错的一个题,用到拉格朗日插值

\(p(i)=\lfloor\dfrac{i+B}{C}\rfloor\)\(q(i)\) 为使得 \(p(x)=i\) 的最小的 \(x\),则 \(q(i)=iC-B\)

接下来愉快的推式子

\[\begin{aligned}a_n-A &= \sum\limits_{i=1}^{n}a_{p(i)}f(i)\\ &= \sum\limits_{i=1}^{n}f(i)\left(A+\sum\limits_{j=1}^{p(i)}f(j)a_{p(j)}\right)\\ &= A\sum\limits_{i=1}^{n}f(i)+\sum\limits_{i=1}^{n}f(i)\sum\limits_{j=1}^{p(i)}f(j)a_{p(j)}\\ &= A\sum\limits_{i=1}^{n}f(i)+\sum\limits_{j=1}^{p(n)}f(j)a_{p(j)}\sum\limits_{k=q(j)}^{n}f(k) \end{aligned} \]

然后,我们发现 \(f(j)\sum\limits_{k=1}^{n}f(k)\) 也是多项式,并且次数多了 \(m+1\),于是我们可以把它当作新的 \(f\) 递归下去,递归过程中我们储存 \(f\) 的点值,这样 \(f\) 的前缀和也很好搞出来,需要求点值直接拉格朗日插值就行了。

递归层数是 \(\log n\) 级别的,这就做完了。

T2

不太难的二分图最大匹配

T3

posted @ 2022-02-17 10:09  iMya_nlgau  阅读(47)  评论(0编辑  收藏  举报