test20191001

闲扯

今天的考试 \(T1\) 模数写成 \(98344353\) 可还行。。。
感觉今天的题还是挺可做的,但是讲题人说 \(T3\)\(T2\) 简单我是真的服了。。

\(T1\)

考虑推式子。
先写出 \(F_n\) 的计算式: \(F_n=f_0\cdot f_n+f_1\cdot f_{n-1}+\cdots+f_n\cdot f_0\)
我们考虑 \(F_n\) 能否从 \(F_{n-1}\) 转移过来。
我们将 \(F_n\)\(F_{n-1}\) 做差,可以得到下面的式子: \(F_n-F_{n-1}=f_0\cdot f_{n-2}+f_1\cdot f_{n-3}+\cdots +f_{n-2}\cdot f_0+f_n\cdot f_0\)
发现后面的除了 \(f_n\cdot f_0\) 之外,就是 \(F_{n-2}\) 的式子,所以可以得到 \(F_n\) 的递推式: \(F_n=F_{n-1}+F_{n-2}+f_n\)
所以我们就直接上矩阵快速幂即可。

\(T2\)

先考虑有根树的做法。
可以发现都每一个非叶节点,我们都需要在它连向儿子节点的边中选一条被覆盖次数做多的边,最后再用所有边的覆盖次数减去我们选到的边的覆盖次数即可。
因为是无根树,我们需要考虑一下换根。
我们可以发现,每次换根时,只会影响到根节点和转向的子节点,直接暴力重新计算即可。

posted @ 2019-10-01 16:30  TheShadow  阅读(107)  评论(0编辑  收藏  举报