题目链接 \(Description\) 求\[\sum_{i=0}^n\sum_{j=0}^iS(i,j)\times 2^j\times j!\mod 998244353\] 其中\(S(i,j)\)为第二类斯特林数(\(S(n,m)\)即在\(m\)个无区别盒子中放\(n\)个不同小球的方案数). \(Solution\) (不知博客园markdowm怎么回事就是显示格式错误) 另:第二类斯特林数 总结. //7988kb 2340ms #include <cstdio> #includ…
正题 题目链接:https://www.luogu.com.cn/problem/P4091 题目大意 给出\(n\),求 \[\sum_{i=0}^n\sum_{j=0}^i\begin{Bmatrix}i\\j\end{Bmatrix}2^jj! \] 解题思路 看题解才知道\(2^jj!\)对这\(n\log n\)做法没有任何意义,卡了好久. 首先斯特林数的通项公式是 \[\begin{Bmatrix}n\\m\end{Bmatrix}=\frac{1}{m!}\sum_{k=0}^m(…
S(i,j)=Σ(-1)j-k(1/j!)·C(j,k)·ki=Σ(-1)j-k·ki/k!/(j-k)!.原式=ΣΣ(-1)j-k·ki·2j·j!/k!/(j-k)! (i,j=0~n).可以发现i只在式中出现了一次且与j不相关,如果对每个k求出其剩余部分的答案,各自乘一下即可.而剩余部分显然是一个卷积. #include<bits/stdc++.h> using namespace std; ;} int read() { ,f=;char c=getchar(); ;c=getchar…
题目 [HEOI2016/TJOI2016]求和 关于斯特林数与反演的更多姿势\(\Longrightarrow\)点这里 做法 \[\begin{aligned}\\ Ans&=\sum\limits_{i=0}^n \sum\limits_{j=0}^i \begin{Bmatrix}i\\j\end{Bmatrix}2^j×j!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1\\ &=\sum\limits_{i=0}^n \sum\l…
P4091 [HEOI2016/TJOI2016]求和 题目描述 在2016年,佳媛姐姐刚刚学习了第二类斯特林数,非常开心. 现在他想计算这样一个函数的值: \[ f(n)=\sum_{i=0}^n\sum_{j=0}^i S(i,j)\times 2^j \times (j!) \] \(S(i, j)\)表示第二类斯特林数,递推公式为: \[ S(i, j) = j \times S(i - 1, j) + S(i - 1, j - 1), 1 \le j \le i - 1 \] 边界条件…
[LG4091][HEOI2016/TJOI2016]求和 题面 要你求: \[ \sum_{i=0}^n\sum_{j=0}^iS(i,j)*2^j*j! \] 其中\(S\)表示第二类斯特林数,\(n\leq10^5\),答案对\(998244353\)取模. 题解 这题你们好早就做了,因为由于技术原因(不会\(NTT\)),我现在才做,我真是菜爆了. 先来推柿子: \(\because S(i,j)=0(i < j)\) \(\therefore\;\)原式\(=\sum_{i=0}^n\…
[题解]P4091 [HEOI2016/TJOI2016]求和 [P4091 HEOI2016/TJOI2016]求和 可以知道\(i,j\)从\(0\)开始是可以的,因为这个时候等于\(0\).这种题目都要从\(0\)开始或许比较好(Itst语) 然后就开始化式子吧 原式= \[ \sum_{i=0}^{n} \sum_{j=0}^n {i \brace j}2^j j! \] 斯特林容斥式子展开一下,并且我们知道当\(k>j\)时,\({j \choose k}=0\),所以扩大枚举范围到\…
loj2058 「TJOI / HEOI2016」求和 NTT 链接 loj 思路 \[S(i,j)=\frac{1}{j!}\sum\limits_{k=0}^{j}(-1)^{k}C_{j}^{k}(j-k)^{i}\] \[\sum\limits_{i=0}^{n}\sum\limits_{j=0}^{i}S(i,j)·2^j·j!\] \[\sum\limits_{i=0}^{n}\sum\limits_{j=0}^{n}S(i,j)·2^j·j!\] \[\sum\limits_{j=…
传送门 首先,因为在\(j>i\)的时候有\(S(i,j)=0\),所以原式可以写成\[Ans=\sum_{i=0}^n\sum_{j=0}^nS(i,j)\times 2^j\times j!\] \[Ans=\sum_{j=0}^n2^j\times j!\sum_{i=0}^nS(i,j)\] 根据第二类斯特林数的通项公式代入,有\[Ans=\sum_{j=0}^n2^j\times j!\sum_{i=0}^n\sum_{k=0}^j\frac{(-1)^k}{k!}\frac{(j-k…
给你斯特林数就换成通项公式,给你k次方就换成斯特林数 考虑换成通项公式之后,组合数没有什么好的处理方法 直接拆开,消一消阶乘 然后就发现了(j-k)和k! 往NTT方向靠拢 然后大功告成 其实只要想到把斯特林公式换成通项公式,考虑用NTT优化掉(j-k)^i 后面都是套路了. #include<bits/stdc++.h> #define reg register int #define il inline #define numb (ch^'0') #define int long long…