题目

\(S(i,j)\)表示第二类斯特林数,求:
\[
f(n)=\sum _{i=0}^n\sum _{j=0}^iS(i,j)*2^j*j!
\]

分析

公式推理很简单,关键是用到了第二类斯特林数的通项公式和组合数展开的方法。
\[
\begin{aligned}
f(n)&=\sum _{i=0}^n\sum _{j=0}^iS(i,j)*2^j*j! \\
&=\sum _{i=0}^n\sum _{j=0}^n \frac{1}{j!}\sum _{k=0}^j (-1)^kC_j^k(j-k)^i*2^j*j! \\
&=\sum _{j=0}^n \frac{1}{j!}*2^j*j!\sum _{j=0}^n\sum _{k=0}^j (-1)^k \frac{j!}{k!(j-k)!} (j-k)^i \\
&=\sum _{j=0}^n 2^j*j!\sum _{k=0}^j\frac{(-1)^k}{k!}\sum _{i=0}^n\frac{(j-k)^i}{(j-k)!} \\
&=\sum _{j=0}^n 2^j*j!\sum _{k=0}^j\frac{(-1)^k}{k!}\frac{(j-k)^{n+1}-1}{(j-k)!(j-k-1)} \\
\end{aligned}
\]
令:
\[
\begin{aligned}
B(x)=\frac{(-1)^x}{x!} \\
C(x)=\frac{x^{n+1}-1}{x!(x-1)}
\end{aligned}
\]
则有:
\[
\begin{aligned}
f(n)=\sum _{j=0}^n 2^j*j!\sum _{k=0}^jB(k)C(k-j)
\end{aligned}
\]
一个卷积的形式,直接用NTT求解即可。这里要注意的是,\(C(0)=1\),因为我们在这里定义\(0^0=1\)。

代码

NTT写起来很简单,但有几个地方容易错。一定要注意把\(n\)化成整二进制的时候,\(M\)要大于\(2n\),尽管\(n\)可能本身是\(2\)的整数次幂。例如\(n=1\),这时\(M\)不能仅仅取到\(2\),而要取到\(4\)。
``` c++

include

include

include

using namespace std;
typedef long long giant;
const giant q=998244353;
const giant g=3;
const giant ig=332748118;
giant read() {
giant x=0,f=1;
char c=getchar();
for (;!isdigit(c);c=getchar()) if (c=='-') f=-1;
for (;isdigit(c);c=getchar()) x=x10+c-'0';
return x
f;
}
const giant maxn=(1<<18)+1;
const giant maxj=19;
giant a[maxn],b[maxn],c[maxn],M,xj,f[maxn],wn[maxj][2];
giant mi(giant x,giant y) {
giant ret=1;
while (y) {
if (y&1) (ret=x)%=q;
y>>=1,(x
=x)%=q;
}
return ret;
}

最新文章

  1. 启动 Apache2.2 的问题
  2. c++中的内存空间不足和自定义处理内存不足
  3. 如何在tpl模版的div块中加ztree
  4. 利用JSONP实现跨域请求
  5. [WP8.1UI控件编程]SemanticZoom控件实现分组列表
  6. sqlserver 2000事务复制问题
  7. List小结
  8. SGU 441 Set Division(矩阵快速幂)
  9. Light oj 1236 - Pairs Forming LCM (约数的状压思想)
  10. sonar-maven-plugin问题
  11. 分布式版本控制系统Git-----4.Git 常用命令整理
  12. rsa or dsa?
  13. MySQL(五)DDL(数据定义语言)
  14. replace只能输入小数
  15. Excel技巧--时尚的圆环比例图
  16. css中的线及vertical-align
  17. RPC简介与hdfs读过程与写过程简介
  18. Cocos2d-x 3.0final 终结者系列教程03-源代码文件夹说明
  19. 关于微信的jsdk的若干亲身实践之小结
  20. ZooKeeper系列文章

热门文章

  1. HTML基础part2
  2. 成都Uber优步司机奖励政策(3月17日)
  3. AOSP 设置编译输出目录
  4. python 解决url编译
  5. solr 学习
  6. Ruby 基础教程1-5
  7. 「知识学习&amp;日常训练」莫队算法(一)(Codeforce Round #340 Div.2 E)
  8. WEB页面常用基本控件测试用例
  9. 初学Direct X(9) ——文字的显示
  10. (转)Shadow Mapping