竞赛讨论区 > 【题解】Wannafly挑战赛24
头像
牛客网小运营
发布于 2018-12-28 19:34
+ 关注

【题解】Wannafly挑战赛24

(题解由比赛出题人提供,点击右侧“本文相关内容”的题目即可开始做题)

T1 石子游戏
注意特殊情况
Alice一开始就操作不了

T2 222333
先暴力计算出所有$2^m$然后对于每个$3^n$计算其对于P的逆元
再在计算出的$2^m$查询是否存在,如果找到则有一组$P|2^m*3^n-1$ 更新答案
逆元只用计算一次,每次乘法直接乘逆元即可。
每次询问复杂度$O(P)$

T3 失衡天平
暴力

T4 无限手套
利用生成函数
构造每种宝石的生成函数
$$
1+(a+b+1)x+(4a+2b+1)x^2+(9a+3b+1)x^3......
$$
化简得到
$$
\frac {(1+(a+b-2)x+(a-b+1)x^2)}{(1-x)^3}
$$
暴力乘法$O(mn)$
$$
\frac {\sum_{i=1}^m (1+(a_i+b_i-2)x+(a_i-b_i+1)x^2)}{(1-x)^{3m}}
$$
得到的${x^n}$的系数即为询问n时的答案

T5 旅行
不考虑多组询问,把询问的链单独拿出来做,就变成了很简单的问题,
记F[i]为走到当前节点,游览的总美丽度$S \equiv i(mod k) $的游览方案数。
所以可以先离线询问,然后分治,对于每个根$O(n*k)$求出他到达每个点每种美丽度的方案数
$O(k^2)$回答每组询问即可。

T6 wyf的超级多项式
如果求出${vj}^i$那么式子就可以写成
$$
F_i=\sum
{j=1}^k B{ij}*A_j
$$
每个$B
{ij}$都是确定的系数
我们就得到了k次线性方程组
如果用高斯消元即可解出$Aj$,但复杂度是O($k^3$+$kn$)这显然是不现实的。*
我们引入特征多项式 $\prod
{j=1}^k (1-Vjx)$
$F_i$即为k阶的线性递推
NTT计算出 $\prod
{j=1}^k (1-V_jx)$各项系数
再暴力线性递推一下即可
注意n可能会小于k

其他疑问可加以下交流群(加入一个即可啦~)
牛客多校算法训练营1:453799454
牛客全国算法训练营2:330766563
牛客多校算法训练营3:934889305

全部评论

(0) 回帖
加载中...
话题 回帖

等你来战

查看全部

热门推荐