2023.5.22 闲话

最终是把 arcaea 剧情通了一遍(虽然是一路 PRS 走的),stO 616 Orz .

最近两首新曲:

  • ピノキオピー - 甘噛みでおねがい feat. 初音ミク
  • DECO*27 - ラビットホール feat. 初音ミク

又开始对狙了是吧 orz .

话说今天是我生日欸。。QAQ


CF896D Nephren Runs a Cinema

计数满足以下条件的序列 \(\{a_n\}\) 的个数:

  • \(a_i\in\{-1,0,1\}\) .
  • 任意前缀和非负且总和在 \([l,r]\) 内 .

答案对 \(p\) 取模,不保证 \(p\) 是素数 .

\(0\le l\le r\le n\le 10^5\)\(1\le p\le 2\times 10^9\) .

直接暴力枚举 \(0\) 的数量和总和后反射容斥可以得到答案的一个表达式:

\[\sum_{i=0}^n \binom{n}{i} \left(\sum_{\substack{j\in[l,r]\cr j-i\mid 2}}\binom{i}{\frac{i+j}2} - \binom{i}{\frac{i+j}2+1}\right) \]

后面那个求和是类似裂项的形式,于是可以化为:

\[\sum_{i=0}^n \binom{n}{i} \left(\binom{i}{\frac{i+j_{\sf L}}2} - \binom{i}{\frac{i+j_{\sf R}}2+1}\right) \]

其中 \(j_{\sf L},j_{\sf R}\) 分别为 \(j\) 能取到的最小值和最大值 .

然而 \(p\) 不一定是素数,问题在于计算组合数,那么类似 exLucas,考虑展开组合数后约掉模 \(p\) 没有逆元的部分 .

具体的,令 \(\displaystyle p=\prod_{i=1}^{\omega(p)}p_i^{r_i}\)\(p\) 的唯一分解,则对每个数 \(n\)\(\displaystyle n=c\cdot \prod_{i=1}^{\omega(p)}p_i^{\alpha_i}\),计算除法的时候 \(c\) 部分肯定有逆元可以直接除,后面的指数相减即可 .

不算求幂和分解素因子复杂度则时间复杂度为 \(\Theta(n\omega(p))\) .

Submission .

你说得对,但是


《D L》

posted @ 2023-05-22 17:32  Jijidawang  阅读(102)  评论(5编辑  收藏  举报
😅​