[ARC160D] Mahjong 题解

m≢0(modk)m \not\equiv 0 \pmod k,无解。

考虑将操作二个数限制为 <k< k,否则可转化为几次操作一和 k\le k 次操作二,那么一个操作集合唯一对应一种最终序列,于是对操作集合进行计数即可。

记序列 b1nk+1b_{1\sim n-k+1} 为每个点作为二操作开头加了几次,记 bnk+22nk+1b_{n-k+2\sim 2n-k+1}bib_i 为点 i(nk+1)i-(n-k+1) 用了几次操作一那么计数 bb 序列即可。

需要满足以下条件:

  • i[1,nk+1],bi<k\forall i\in[1,n-k+1],b_i<k
  • i=12nk+1bi=mk\sum\limits_{i=1}^{2n-k+1}b_i=\frac{m}{k}

带限制,考虑容斥,钦定前 nk+1n-k+1 个元素中至少有 ii 个不合法,则计数和为 mkik\frac{m}{k}-ikbb 序列即可,由插板法得:

ans=i=0nk+1(1)i(nk+1i)(mkik+2nk2nk)ans=\sum_{i=0}^{n-k+1}(-1)^{i} \begin{pmatrix}n-k+1\\i\end{pmatrix}\begin{pmatrix}\frac{m}{k}-ik+2n-k\\2n-k\end{pmatrix}

时间复杂度 O(n2logmod)\mathcal O(n^2\log mod)

posted @ 2023-05-17 13:33  蒟蒻orz  阅读(1)  评论(0编辑  收藏  举报  来源