2025.3

AT_agc040_f.

三月了啊。

我们设两个棋分别为 u,vuv。此时考虑移动 v,然后再移动的过程中插入 u 的操作。

首先考虑 u 加一这种操作。假设我们进行了 i 次这种操作,同时满足 uv。利用插板法,可得方案数为 (iBi+1)(i1Bi+1)

然后考虑插入 u=v 的操作。此时同样考虑插板法。我们发现现在总共有 nBi 个空位,同时要插入 Ai 个这种操作。所以利用插板法可得总数量应为 (AinAB2×i+1)

对于每一个 i,其答案就是上面两个数相乘,然后我们枚举 i=1min{B1,nB,A} 即可。

特别的,当 i=nB 时,我们只有 i=A 才会有贡献,所以此时的答案为 (iBi+1)(i1Bi+1)

AT_agc030_f.

很好啊,很好啊。

显然的,只有 A2i=1 或者 A2i1=1 才有贡献。

然后我们考虑从小到大去填这些数。但是我们发现从小到大会有后效性,比如我们现在考虑填的数对为 (i,1),我们发现当后面那个数填 i+1 或者 i+2 都可行,但是我们会重复计算贡献。

所以我们考虑从大到小去计算贡献,这样就不会有后效性了。

此时考虑定义 dpi,j,k 表示当前考虑到第 i 个数,还剩 j 个只填了 1 个数的对称为 (1,a)k 个原本就限定了一位的对,称为 (x,1)

如果它是 (1,x) 中的 x,那么它可以不匹配。dpi+1,j,k 转移到 dpi,j,k+1,也可以匹配与一个填了一个数的 (1,a) 匹配,那么 dpi,j,k转移到 dpi,j1,k

如果不是,那么它可以不匹配。那么就有一下几种转移方法:

  1. dpi1,j1,k 转移到 dpi,j,k

  2. 填入 (1,a)dpi1,j+1,k 转移到 dpi,j,k

  3. 还可以填入 (1,x),因为任意 x 的位置固定,所以会有 k+1 种填入方案,(k+1)×dpi1,j,k+1 转移到 dpi,j,k

然后就没了。

posted @   sqrtqwq  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示