首页 > 其他分享 >QOJ #1285.Stirling Number

QOJ #1285.Stirling Number

时间:2024-06-05 20:57:26浏览次数:12  
标签:1285 sum Stirling overline choose mod aligned QOJ equiv

一道非常厉害的题目。

题意

求:

\[\sum_{i=0}^{m}c(n,i)\mod p \]

其中 \(c(n,i)\) 为无标号第一类斯特林数,且有 \(n,m\le 10^{18},p\le 10^6\)。

Sol

考虑一个性质:

\[x^{\overline p}\equiv x^p-x \mod p \]

证明比较简单,考虑费马小定理,\(x^p\equiv x\mod p\)。而 \(x,x+1,\cdots,x+p-1\) 中一定有一个数是 \(p\) 的倍数,因此两边模 \(p\) 都等于 \(0\)。

因此对于一个比较大的数 \(n\),令 \(n=pq+r,r<p\)。

\[\begin{aligned} x^{\overline n}&\equiv x(x+1)\cdots(x+n-1) \\ &\equiv \prod_{l=0}^{q-1}(x+pl)^{\overline p}(x+pq)^{\overline r} \\ &\equiv (x^p-x)^qx^{\overline r} \\ &\equiv x^q(x^{p-1}-1)^qx^{\overline r} \mod p \end{aligned} \]

令 \(k-q=a(p-1)+b,0<b<p\),根据 \(c(n,k)\) 的定义而有:

\[\begin{aligned} c(n,k)&\equiv [x^k]x^{\overline n} \\ &\equiv [x^{k-q}](x^{p-1}-1)^qx^{\overline r} \\ &\equiv [x^{k-q}](\sum_{l=0}^{q} (-1)^{q-l}{q\choose l}x^{l(p-1)})(\sum_{l=0}^{r}c(r,l)x^l) \\ &\equiv (-1)^{q-a}{q\choose a}c(r,b) \mod p \end{aligned} \]

因此,令 \(m-q=k(p-1)+t,0<t<p\), 则有:

\[\begin{aligned} \sum_{l=0}^m c(n,l)\equiv& \sum_{i=0}^{t}c(r,i)\sum_{j=0}^k(-1)^{q-j}{q\choose j} \\ &+\sum_{i=t+1}^rc(r,i)\sum_{j=0}^{k-1}(-1)^{q-j}{q\choose j} \mod p \end{aligned} \]

考虑一个公式:

\[\sum_{j=0}^k(-1)^{j}{q\choose j}=(-1)^k{q-1\choose j} \]

这个可以用归纳法证明。

因此有:

\[\begin{aligned} \sum_{l=0}^mc(n,l)\equiv& \sum_{i=0}^t c(r,i) (-1)^{q-j}{q-1\choose k}-\sum_{i=t+1}^{r}c(r,i)(-1)^{q-j+1}{q-1\choose k-1} \\ \equiv& (-1)^{q-k}\left({q\choose k}\sum_{i=0}^t c(r,i) - {q - 1\choose k - 1}\sum_{i=0}^r c(r,i) \right) \\ \equiv& (-1)^{q-k}\left({q\choose k}\sum_{i=0}^t c(r,i) - {q - 1\choose k - 1}r! \right) \mod p \end{aligned} \]

随后问题在于,对于任意小质数模数 \(p\) 和任意 \(r\) 求 \(\sum_{i=0}^tc(r,i)\)。

这里可以用任意模数 NTT,但是我加了大佬 NaCly_Fish 的 qq 好友特地问了这个问题,实际上有严格线性的方法。

考虑对于一个多项式 \(f(x)\) 以及 \(p\) 的原根 \(g\),知道 \(f(1),f(g),\cdots,f(g^{p-2})\) 的值,我们可以在严格线性的时间复杂度内求出 \(f(x)\) 前 \(t\) 项系数之和。

关键技巧在于只有 \(k=0\) 满足 \(g^k+g^{2k}+\cdots+g^{(p-1)k}\equiv-1\mod p\),其他 \(l\) 的结果均为 \(0\)。因此具体地如下:

\[\begin{aligned} \sum_{l=0}^t f_t\equiv& - \sum_{l=0}^{p-2}\left( f(g^l) \sum_{j=0}^m g^{-lj} \right) \\ \equiv& -(m+1)f(1)-\sum_{l=1}^{p-2}f(g^l) \frac{g^{-l(m+1)}-1}{g^{-l}-1} \mod p \end{aligned} \]

至此,将这个公式套回上式,得到 \(O(p)\) 的线性做法。

Submission #431472 - QOJ.ac

标签:1285,sum,Stirling,overline,choose,mod,aligned,QOJ,equiv
From: https://www.cnblogs.com/imcaigou/p/18233770

相关文章

  • QOJ 7008 另解
    文中符号:\(\operatorname{Period}(s)\):字符串\(s\)的周期集合。\(\operatorname{Per}(s)\):字符串\(s\)的最小周期。循环节:\(x\in\operatorname{Period}(s)\)且\(x|\operatorname{len}(S)\)。\(\operatorname{Cyc}(s)\):\(s\)的最小循环节。\(\operatorname{endpos}(......
  • QOJ 4824 Bracket-and-bar Sequences
    考虑到这个实际上没有特别好的表示方法。不如从\(n\le25\),猜想合法的序列数量不多。考虑对这个计数。类似于合法括号序计数,考虑把串拆为\(\texttt{(}\cdots\texttt{|}\cdots\texttt{)}\cdots\)来考虑。那么令\(f_i\)表示\(i\)对\(\texttt{(|)}\)组成的序列的数量。......
  • QOJ 6537 One, Two, Three
    令原题中的\(1,2,3\)分别对应\(0,1,2\)。一种贪心想法就是直接记录\(0,2,01,21,012/210\)的个数然后直接配对。但是考虑到如果当前的\(1\)前面既有\(0\)也有\(2\),后面不管是\(0\)还是\(2\)都能配对。但是按照先前的策略肯定会成为\(01\)或\(21\),这......
  • windows上使用wsl的ubuntu部署stirling-pdf
    由于要部署stirling-pdf需要docker环境,所以需要使用ubuntu系统,那么在win10/win11上最方便的方式就是使用wsl安装ubuntu然后再wsl上的ubuntu上进行部署,接下来就是整个步骤在windows上使用wsl安装ubuntu,在powershell上使用wsl--install命令就可以默认安装ubuntu了,方便快捷登录ub......
  • qoj1138 Counting Mushrooms
    交互题。有一个隐藏的01序列\(a\),你只知道\(a\)的长度,并记为\(n\)。保证\(a_1=0\)。你可以执行以下操作:询问一个序列\(b\),满足两两不同且长度在\([2,1000]\)之间。交互库会返回\(\sum[a(b_i)\not=a(b_{i+1})]\)。请在\(226\)次操作内求出\(a\)中\(0\)......
  • qoj3082 Ascending Matrix 题解
    题目链接点击打开链接题目解法不考虑第\(a_{r,c}=v\)的限制怎么求?我们把条件形式化一下,发现\(k\)个区域的颜色可以表示成轮廓线的形式,即第\(i-1\)条到第\(i\)条轮廓线之间的格点颜色为\(i\)问题变成找到\(k-1\)条互不穿过的路径,起点为\((1,m)\),终点为\((n,1)\)......
  • QOJ5717
    非常好题目,拜谢Itst。不过如果我去考这场估计就哈哈了。\(k=3\)都能卡。还是要避免一条路走到黑啊。懂得变通。\(k=1\)是送的。\(k=2\)较为平凡,只需要将相对大的、相对小的各放一起。\(k=3\)不简单了。首先二分答案\(mid\),经过800万年转换视角,钦定顺序之类的尝试应......
  • QOJ2559
    区间维护类的小(?)DS题。感觉我不怎么会。题意目的明确,就是要动态维护每个区间能覆盖的范围。看一看,感觉题目里的条件很神秘,不知道怎么用。不过可以根据特殊性质推出一个性质:存在包含关系一定先选内部。一开始的思路是用区间互相影响计算,但这个非常复杂,且非常假。在写暴力的时候......
  • QOJ #1280.Fibonacci Partition/Fibonacci性质大杂烩
    QOJ#1280.FibonacciPartition(为什么布置的作业题没有任何可见AC记录啊/kk)拿下了QOJ上的用户首杀(同时目前也是QOJ可见的submission中唯一一个过掉这个题的,另一个是vjudge上我的提交)。也许是这个题实在是太冷门了,但是从Fibonacci-Lucas数列的性质应用上是一道非常......
  • QOJ杂题合集
    QOJ杂题合集QOJ#151.NiceLinesQOJ#838.HorribleCyclesQOJ#894.LongestLooseSegmentQOJ#895.Color给定一个有\(n\)个节点的无向完全图\(G\),每条边都被染成了\(m\)种颜色中的一种,颜色编号为\(1\simm\)。我们称一个无向完全图合法,当且仅当对于\(\forallx......