当前位置: 首页 > news >正文

FPS24 个人题解

AtCoder 上的新比赛 FPS 24: 24 Problems on Formal Power Series,断断续续做了几天终于是把 W 之外的题做完了(疯狂开白是吧),发一下个人题解(

A. Snack

答案:\([x^N](x+x^3+x^4+x^6)^D\) .

B. Tuple of Integers

答案:\([x^N]\dfrac{(1+x)(1+x+x^2)}{(1-x^2)(1-x^3)}\) .

C. Sequence

答案:\([x^S]\left(\dfrac{1-x^{M+1}}{1-x}\right)^N\) .

D. Sequence 2

分别讨论第一位是奇数还是偶数,然后计算不降的奇数 / 偶数序列数量,在第 \(i\) 位加 \(i\) 后即可转换为原问题 .

答案:\(N!\left(\dbinom{\lfloor(M-N+1)/2\rfloor+N-1}N+\dbinom{\lfloor(M+1-N+1)/2\rfloor+N-1}N\right)\) .

E. Sequence 3

答案:\(\displaystyle\left[\dfrac{x^N}{N!}\right]\prod_{k=1}^M\sum_{i=0}^k\dfrac{x^i}{i!}\)(暴力计算即可).

F. Colored Paper

答案:\(\left[\dfrac{x^N}{N!}\right]\mathrm e^x\left(\dfrac{\mathrm e^x+\mathrm e^{-x}}2\right)\left(\dfrac{\mathrm e^x-\mathrm e^{-x}}2\right)=\dfrac{3^N-(-1)^N}4\) .

G. Coin

用退背包的技术做就可以了,看起来和 FPS 并没有什么关系 .

H. Jump

对朴素 DP 按列建立生成函数,则可以写出迭代列:

\[\begin{aligned}&F_n(x)=S_{n-1}(x)/(1-x)\\&S_n(x)=S_{n-1}(x)+(1+x)F_n(x)\end{aligned} \]

其中 \(F_0(x)=\dfrac1{1-x},\,S_0(x)=\dfrac{1+x}{1-x}\) .

答案:\([x^N]F_M(x)=2^{M-1}[x^N]\dfrac{1+x}{(1-x)^{M+1}}\) .

I. Score

答案:\(\displaystyle[x^K]\prod_{i=1}^N(1+A_ix)\),可以分治乘出来 .

J. Sugoroku

使用半在线卷积快速完成朴素 DP 即可(我没写).

K. Permutation

容斥,钦定一些限制不满足,那么会把排列划分成若干段,每段独立选择 .

答案:\([x^N]-\dfrac1{1-\sum_{i\ge1}-i!x^i}\) .

L. Permutation 2

答案:\([x^N]\exp(-\ln(1-x)-x-x^2/2)\) .

M. Connected Graph

答案:\(\displaystyle[x^N]\ln\sum_{i\ge0}2^{\binom i2}\dfrac{x^i}{i!}\) .

N. Coin 2

答案:\(\displaystyle[x^N]\prod_{i=1}^N\dfrac{1-x^{i(A_i+1)}}{1-x^i}\),使用 ln-exp 技巧计算即可 .

O. Rooted Tree

\(F(x)\) 是答案的 EGF,则可以写出:

\[F(x)=x\left(1+\sum_{p\in\mathbb P}\dfrac{F(x)^p}{p!}\right) \]

施 Lagrange 反演,

\[[x^n]F(x)=\dfrac1n[x^{n-1}]\left(1+\sum_{p\in\mathbb P}\dfrac{x^p}{p!}\right)^N \]

那么答案就是 \(\dfrac1N\left[\dfrac{x^N}{N!}\right]F(x)\)(由于根要求是 1 所以需要乘 \(\frac1N\)).

答案:\(\displaystyle\dfrac{(N-1)!}{N}[x^{N-1}]\left(1+\sum_{p\in\mathbb P}\dfrac{x^p}{p!}\right)^N\) .

P. Ball

答案:\(\displaystyle\sum_{k=0}^K\dbinom Nkm^{N-k}\),可以使用多点求值计算 .

Q. Dice

对于每个随机变量 \(X\) 都求一下 \(\mathbb E[X^k]\) 关于 \(k\) 的 EGF,合并只需要把两个 EGF 相乘 .

关于这个 EGF 怎么求,不妨设求骰子 1,根据熟知结论只需要对 PGF 复合 \(\mathrm e^x\)

\[\begin{aligned}&P_A(x)=\sum_{i=1}^N\dfrac{x^{A_i}}N\\&F_A(x)=P_A(\mathrm e^x)=\sum_{i=1}^N\dfrac{\mathrm e^{A_ix}}N\end{aligned} \]

施形式 Laplace 变换,

\[\begin{aligned}&\mathcal L(F_A(x))=\dfrac1N\sum_{i=1}\dfrac1{1-A_ix}\\&F_A(x)=\dfrac1N\mathcal L^{-1}\left(\sum_{i=1}\dfrac1{1-A_ix}\right)\end{aligned} \]

可以分治乘算出!

R. Random Walk

这是一个另一种反射容斥的题目 .

答案:\(\dfrac1{2^{T-[X\neq 1\land X\neq2^N+1]}}[z^{X-1}]((z+z^{-1})^T\bmod(z^{2^{N+1}}-1))\),模二的幂的循环卷积可以借助 FFT 简单计算 .

S. Game

Subtask 1. \(\mathrm{type}=1\)

改成有根树做,令 Alice, Bob 赢的有根树的 GF 是 \(A(x),B(x)\),则(注意这个部分相当于 Bob 是先手):

\[\begin{aligned}&A=x\exp B\\&B=x(\exp(A+B)-\exp B)\end{aligned} \]

整理可得 \(A(x)=\left(\dfrac{x}{\exp(x\exp x-x)}\right)^{\langle-1\rangle}\),接下来得到答案比较简单就不写了 .

Subtask 2. \(\mathrm{type}=2\)

注意到后手必胜当且仅当树存在完美匹配,由于树如果有完美匹配那么一定唯一,所以先随意选一些匹配然后使用扩展 Cayley 公式连成树就可以了 .

T. Colorful

改成算所有以 1 开始以 1 结束的长度为 \(T+1\) 的相邻不相同的序列 \(p\)\(\prod_{i=2}^T A_{p_i}\) 之和 . 使用集合划分容斥,令颜色 \(i\) 构成的长度为 \(k\) 的颜色段的容斥系数为 \(p_k\),其 OGF 为 \(p_i(x)\),则有:

\[\dfrac1{1-p_i(x)}=1+A_ix\implies p_i(x)=\dfrac{A_ix}{1+A_ix} \]

进而可以组合出答案:\(\displaystyle [x^{T+1}]\dfrac{1}{1-\sum_{i=1}^N\frac{A_ix}{1+A_ix}}\left(\dfrac x{1+A_1x}\right)^2+(-1)^TA_1^{T-1}\) .

U. Recorder

其实感觉 DP 不是很简单啊,顺着扫依次填扫到的左 / 右端点,要求左端点填了但右端点没填的个数随时 \(\le 2\),那么可以写出一个线性递推形状的转移 . 最后答案是关于两个输入的二元有理分式,其一行必然是常数阶 D-Finite 的,想办法算一些值之后 Gauss 消元解出就可以了(注意此处用朴素 DP 是算不出初值的因为前面固定有 \(\lceil\frac N2\rceil\) 个 0).

技术细节(过于暴力,未成年人请在成年人陪同下观看):

首先偷看鱼鱼题解发现答案除以 \(N!\) 之后就是

\[\small[X^N]\dfrac{2(1-t)^2-4tx}{(1-t)(2(1-t)^2-6tx-tx^2)}=\dfrac{(t-\sqrt{t(2+5t+2t^2)})\Big(\frac{3t+\sqrt{t(2+5t+2t^2)}}{(1+t)^2}\Big)^N-(t+\sqrt{t(2+5t+2t^2)})\Big(\frac{3t-\sqrt{t(2+5t+2t^2)}}{(1+t)^2}\Big)^N}{2^{n+1}(t-1)\sqrt{t(2+5t+2t^2)}} \]

考虑乘 \(\frac1{t^{\lceil N/2\rceil}}\) 之后通过常见手段算截断后的答案,分奇偶性讨论:

  • \(N=2n\)

    \[\small\mathrm{ans}=\dfrac{(\sqrt t-\sqrt{2+5t+2t^2})\Big(\frac{1+7t+t^2-3\sqrt{t(2+5t+2t^2)}}{(t-1)^4}\Big)^n-(\sqrt t+\sqrt{2+5t+2t^2})\Big(\frac{1+7t+t^2+3\sqrt{t(2+5t+2t^2)}}{(t-1)^4}\Big)^n}{2^{n+1}(t-1)\sqrt{(2+5t+2t^2)}} \]

    此处需要手动维护 \(t^{k+1/2}\) 次项(可以写成维护 \(a+b\sqrt t\)).
  • \(N=2n+1\)

    \[\small\mathrm{ans}=\dfrac{(1+t+t^2-\sqrt{t(2+5t+2t^2)})\Big(\frac{1+7t+t^2-3\sqrt{t(2+5t+2t^2)}}{(t-1)^4}\Big)^n-(1+t+t^2+\sqrt{t(2+5t+2t^2)})\Big(\frac{1+7t+t^2+3\sqrt{t(2+5t+2t^2)}}{(t-1)^4}\Big)^n}{2^{n+1}(t-1)^3\sqrt{t(2+5t+2t^2)}} \]

    此处也手动维护 \(t^{k+1/2}\) 次项,不过由于求逆的困难可以求答案乘 \(\sqrt t\) 后的值然后最后再除掉 .

这样就解决了 .

V. 12 Directions

首先将任意时刻的坐标表示为 \((\frac{a+\sqrt 3b}2,\frac{c+\sqrt3d}2)\),则可以简单写出答案:

\[\begin{aligned}&[x^{2H}y^0z^{2W}w^0](x^2+x^{-2}+z^2+z^{-2}+(x+x^{-1})(w+w^{-1})+(y+y^{-1})(z+z^{-1}))^N\\=&\sum_{i=0}^N\dbinom Ni([x^{2H}w^0](x^2+x^{-2}+(x+x^{-1})(w+w^{-1}))^i)([y^0z^{2W}](z^2+z^{-2}+(y+y^{-1})(z+z^{-1}))^{N-i})\end{aligned} \]

对于两个部分中单独的一部分,通过一些直觉可以发现是常数阶 D-Finite 的,那么只需要想办法求前面一些位置的值然后 Gauss 消元解出整式递推(下面是个人办法,更简单的办法见后折叠框).

\[\begin{aligned}&[x^{2n}y^0](x^2+x^{-2}+(x+x^{-1})(y+y^{-1}))^k\\=&[x^{2n}y^0]((x+x^{-1})^2+(x+x^{-1})(y+y^{-1})-2)^k\\=&\sum_{i=0}^k\dbinom ki(-2)^i[x^{2n}y^0]((x+x^{-1})(x+x^{-1}+y+y^{-1}))^{k-i}\\=&\sum_{i=0}^k\dbinom ki(-2)^i\sum_j[x^j](x+x^{-1})^{k-i}[x^{2n-j}y^0](x+x^{-1}+y+y^{-1})^{k-i}\\=&\sum_{i=0}^k\dbinom ki(-2)^i\sum_j[x^j](x+x^{-1})^{k-i}\sum_{p=0}^{k-i}\dbinom{k-i}p([x^{2n-j}](x+x^{-1})^p)([y^0](y+y^{-1})^{k-i-p})\\=&\sum_{i=0}^k\dbinom ki(-2)^i\sum_j\dbinom{k-i}{(j+k-i)/2}\sum_{p=0}^{k-i}\dbinom{k-i}p\dbinom p{(2n-j+p)/2} \dbinom{k-i-p}{(k-i-p)/2}\end{aligned} \]

(其中非整数下标的二项式系数都为 0)

这样借助一些预处理就可以 \(O(k^2)\) 算前 \(k\) 个值了,从而可以解决原问题 .

为什么 D-Finite?

这部分推导来自 hos_lyric(的代码里的注释).

回到这一步:

\[\begin{aligned}{}[x^{2n}y^0](x^2+x^{-2}+(x+x^{-1})(y+y^{-1}))^k&=[x^{2n}y^0]((x+x^{-1})^2+(x+x^{-1})(y+y^{-1})-2)^k\\&=[x^{2n}y^0]((x+x^{-1})(x+x^{-1}+y+y^{-1})-2)^k\end{aligned} \]

由于 -2 对 D-Finite 性质不是很重要所以就去掉,然后平面转 \(45^\circ\) 使得两个方向的移动独立:

\[\begin{aligned}{}[x^{2n}y^0]((x+x^{-1})(x+x^{-1}+y+y^{-1}))^k&=[x^{2n}y^0]((x+x^{-1})(x^{1/2}y^{1/2}+x^{-1/2}y^{-1/2})(x^{-1/2}y^{1/2}+x^{1/2}y^{-1/2}))^k\\&=[u^{2n}v^{2n}]((uv+u^{-1}v^{-1})(u+u^{-1})(v+v^{-1}))^k&(u=x^{1/2}y^{1/2},\,v=x^{1/2}y^{-1/2})\\&=\sum_{i=0}^k\dbinom ki\dbinom k{i+n}^2\end{aligned} \]

由于这是超几何函数,所以一定是 D-Finite 的,从而给出了原式的 D-Finite 性 .

W. Cycle

由于是集合幂级数所以肯定是不会做的

X. Functional Square Root

飞雨烟雁老师在一些幂级数复合方程的解法已经给出了详细的说明 .

另外 hos_lyric 指出只需要算 \(F\) 复合自己 \(\frac{p-1}2\) 次就可以得到答案,从而引出了一个更简洁的算法(

http://www.gsyq.cn/news/42913.html

相关文章:

  • 2025年11月有哪些值得推荐的洗地机品牌?友望云朵2.0实力领衔五大品牌
  • 构建可用于生产环境的AI智能体
  • 2025 年 11 月食堂承包公司权威推荐榜:专业饭堂承包方案,大型食堂承包商服务实力与客户口碑深度解析
  • 2025 年 11 月鞋业设计技术培训学校推荐排行榜,鞋业设计/技术培训,鞋业加盟公司推荐,专业教学与创业支持口碑之选
  • 2025 年 11 月仓储货架,重型货架,货架托盘厂家最新推荐,聚焦资质、案例、售后的五家机构深度解读!
  • 2025 年 11 月优力胶厂家推荐排行榜,防静电优力胶,高硬度优力胶,专业定制与优质服务口碑之选
  • 微信公众号文章一篇最多放几个视频?
  • 2025年11月除锈剂厂家推荐排行榜:专业解析钢铁、金属、不锈钢等材料除锈解决方案
  • 2025 年 11 月研磨膏厂家推荐排行榜,金刚石研磨膏,油性金刚石研磨膏,水性金刚石研磨膏公司推荐
  • 555定时器-1 555定时器简介
  • 2025年北京唯宝智能马桶公司权威推荐榜单:annwa智能马桶/科勒卫浴/vivi马桶源头公司精选
  • Looper、MessageQueue、Message及Handler的关系是什么?如何保证MessageQueue的并发访问安全? - 教程
  • 「机器学习笔记7」决策树学习:从理论到实践的全面解析(上) - 详解
  • axios 请求错误重复请求
  • 2025年磷酸氢二钠供货厂家权威推荐榜单:磷酸二氢钠/草酸/磷酸氢二钾源头厂家精选
  • 2025年无风感空调品牌权威推荐榜单:省电空调/小户型空调/防直吹空调源头厂家精选
  • 2025年绝缘油滤油机直销厂家权威推荐榜单:润滑油滤油机/真空抽气机组/透平油滤油机设备源头厂家精选
  • 国产化文档开发组件Spire.Office 10.10 全新发布!多项文档处理能力重磅升级
  • fastutil 实战指南:用原始类型集合把性能“薅满”
  • 实用指南:【Java并发】深入理解synchronized
  • Modbus Tcp协议
  • Cursor 2.0 扩展 Composer 功能,助力上下文感知式开发 - 公众号
  • Linux命令总览
  • 量化选股与量化交易第819篇:大单短线量化指标公式 - Leone
  • 量化选股与量化交易第820篇:趋势突破K线均线平台指标公式 - Leone
  • 【2025年撕碎机厂家信息:生活垃圾资源化方案】
  • 量化选股与量化交易第823篇:通达信潜伏涨停板 - Leone
  • 深入解析:权限管理混乱微服务安全架构:OAuth2.0+JWT无感刷新方案非法请求拦截率
  • 量化选股与量化交易第822篇:通达信超级暗盘买入 - Leone
  • 电脑中英文切换的问题,实时显示输入法状态