ARC061 简要题解

ARC061 简要题解

A

直接暴力乱搞

或者算一个子串对答案的贡献也行

B

把每个点在矩形中的位置讨论一下, 把重复的情况去掉

一个都没有的就是总的减其他

C

并查集把联通的一块判完之后

建一个新图在上面跑最短路即可

新图就是把每一个点拆开, 分为入点和出点, 入点向出点连一条 1 的边, 联通块向入点连一条 0 的边, 出点向联通块连一条 0 的边

D

发现每一种让 a 胜利的方案都对应着一段仅由 A, B, C 组成的字符串, 第 \(i\) 个字符代表第 \(i\) 个回合打出的牌上写的字符

手玩之后发现最后一个字符必然是 A , 且字符串中 A 有 \(n\) 个, B 有 \(< m\) 个, C 有 $< k $ 个

不妨设该字符串中 B 有 \(x\) 个, C 有 \(y\) 个, 那么字符串中的字符总数就是 \(n + x + y\)

对应的字符串就会有

\[\binom{n+x+y-1}{n-1}\binom{x+y}{x}3^{m+k-x-y} \]

个, 代表最后一位必须选 A , 其他的随便排, 然后 B 剩下的 \(m - x\) 张牌和 C 剩下的 \(k - y\) 张牌随便怎么选

不妨设 \(x + y = t\)

则有

\[\begin{aligned} ans &= \sum_{t=0}^{m+k}\binom{n+t-1}{n-1}3^{m+k-t}\sum_{x=t-k}^{m}\binom{t}{x} \end{aligned} \]

\(f[t] = \sum_{x=t-k}^{m}\binom{t}{x}\), 则有

\[\begin{aligned} f[t]&=\sum_{x=t-k}^{m}\binom{t}{x} \\&=\sum_{x=t-k}^{m}\binom{t-1}{x}+\binom{t-1}{x-1}\\ &=\sum_{x=t-k}^{m}\binom{t-1}{x}+\sum_{y=(t-1-k)}^{m-1}\binom{t-1}{y}\\\\ &=(\sum_{x=(t-1)-k}^m\binom{t-1}{x}-\binom{t-1}{t-1-k})+(\sum_{y=(t-1-k)}^{m}\binom{t-1}{y}-\binom{t-1}{m})\\ &=2f[t-1]-\binom{t-1}{t-1-k}-\binom{t-1}{m} \end{aligned} \]

递推之后求解即可

posted @ 2020-08-27 16:12  ztlztl  阅读(184)  评论(0编辑  收藏  举报