传送门:CF原网 洛谷

题意:给定 $n,k$,求 $\sum\limits^n_{i=1}\dbinom{n}{i}i^k\bmod(10^9+7)$。

$1\le n\le 10^9,1\le k\le 5000$。


很水的一道题。

根据第二类斯特林数的性质:

$$n^k=\sum^k_{i=1}\begin{Bmatrix}k\\i\end{Bmatrix}i!\dbinom{n}{i}$$

那么直接套进去:

$$\sum\limits^n_{i=1}\dbinom{n}{i}\sum^k_{j=1}\begin{Bmatrix}k\\j\end{Bmatrix}j!\dbinom{i}{j}$$

$$\sum^k_{j=1}\begin{Bmatrix}k\\j\end{Bmatrix}j!\sum\limits^n_{i=j}\dbinom{n}{i}\dbinom{i}{j}$$

$$\sum^k_{j=1}\begin{Bmatrix}k\\j\end{Bmatrix}j!\sum\limits^n_{i=j}\dfrac{n!}{i!(n-i)!}\dfrac{i!}{j!(i-j)!}$$

$$\sum^k_{j=1}\begin{Bmatrix}k\\j\end{Bmatrix}j!\sum\limits^n_{i=j}\dfrac{n!}{(n-i)!}\dfrac{1}{j!(i-j)!}$$

$$\sum^k_{j=1}\begin{Bmatrix}k\\j\end{Bmatrix}j!\sum\limits^n_{i=j}\dfrac{n!}{j!(n-j)!}\dfrac{(n-j)!}{(n-i)!(i-j)!}$$

$$\sum^k_{j=1}\begin{Bmatrix}k\\j\end{Bmatrix}j!\sum\limits^n_{i=j}\dbinom{n}{j}\dbinom{n-j}{i-j}$$

$$\sum^k_{j=1}\begin{Bmatrix}k\\j\end{Bmatrix}j!\dbinom{n}{j}\sum\limits^n_{i=j}\dbinom{n-j}{i-j}$$

$$\sum^k_{j=1}\begin{Bmatrix}k\\j\end{Bmatrix}j!\dbinom{n}{j}\sum\limits^{n-j}_{i=0}\dbinom{n-j}{i}$$

$$\sum^k_{j=1}\begin{Bmatrix}k\\j\end{Bmatrix}j!\dbinom{n}{j}2^{n-j}$$

如果我们知道了所有的 $\begin{Bmatrix}k\\j\end{Bmatrix}$ 那么这个式子可以做到 $O(k\log n)$。

而预处理这些斯特林数可以用 $k^2$ 递推,当然也可以用卷积做到 $k\log k$。

由于本题 $k^2$ 已经足够,而且模数不友好,直接递推就好了。

时间复杂度 $O(k^2+k\log n)$。

#include<bits/stdc++.h>
using namespace std;
const int mod=;
#define FOR(i,a,b) for(int i=(a);i<=(b);i++)
#define ROF(i,a,b) for(int i=(a);i>=(b);i--)
#define MEM(x,v) memset(x,v,sizeof(x))
inline int read(){
int x=,f=;char ch=getchar();
while(ch<'' || ch>'') f|=ch=='-',ch=getchar();
while(ch>='' && ch<='') x=x*+ch-'',ch=getchar();
return f?-x:x;
}
int n,k,S[][];
inline int qpow(int a,int b){
int ans=;
for(;b;b>>=,a=1ll*a*a%mod) if(b&) ans=1ll*ans*a%mod;
return ans;
}
int main(){
n=read();k=read();
S[][]=;
FOR(i,,k) FOR(j,,i) S[i][j]=(S[i-][j-]+1ll*S[i-][j]*j)%mod;
int c=,f=,ans=;
FOR(i,,min(n,k)){
c=1ll*c*(n-i+)%mod*qpow(i,mod-)%mod;
f=1ll*f*i%mod;
ans=(ans+1ll*c*S[k][i]%mod*f%mod*qpow(,n-i))%mod;
}
printf("%d\n",ans);
}

CF932E Team Work(第二类斯特林数)的更多相关文章

  1. CF932E Team Work(第二类斯特林数)

    题目 CF932E Team Work 前置:斯特林数\(\Longrightarrow\)点这里 做法 \[\begin{aligned}\\ &\sum\limits_{i=1}^n C_ ...

  2. CF932E Team Work——第二类斯特林数

    题解 n太大,而k比较小,可以O(k^2)做 想方设法争取把有关n的循环变成O(1)的式子 考虑用公式: 来替换i^k 原始的组合数C(n,i)一项,考虑能否和后面的系数分离开来,直接变成2^n处理. ...

  3. Codeforces 932 E Team Work ( 第二类斯特林数、下降阶乘幂、组合数学 )

    题目链接 题意 : 其实就是要求 分析 : 先暴力将次方通过第二类斯特林数转化成下降幂 ( 套路?) 然后再一步步化简.使得最外层和 N 有关的 ∑ 划掉 这里有个技巧就是 将组合数的表达式放到一边. ...

  4. 【CF932E】Team Work(第二类斯特林数)

    [CF932E]Team Work(第二类斯特林数) 题面 洛谷 CF 求\(\sum_{i=1}^nC_{n}^i*i^k\) 题解 寒假的时候被带飞,这题被带着写了一遍.事实上并不难,我们来颓柿子 ...

  5. 【cf932E】E. Team Work(第二类斯特林数)

    传送门 题意: 求\(\displaystyle \sum_{i=0}^n{n\choose i}i^k,n\leq 10^9,k\leq 5000\). 思路: 将\(i^k\)用第二类斯特林数展开 ...

  6. Gym - 101147G G - The Galactic Olympics —— 组合数学 - 第二类斯特林数

    题目链接:http://codeforces.com/gym/101147/problem/G G. The Galactic Olympics time limit per test 2.0 s m ...

  7. 【BZOJ5093】图的价值(第二类斯特林数,组合数学,NTT)

    [BZOJ5093]图的价值(第二类斯特林数,组合数学,NTT) 题面 BZOJ 题解 单独考虑每一个点的贡献: 因为不知道它连了几条边,所以枚举一下 \[\sum_{i=0}^{n-1}C_{n-1 ...

  8. 【BZOJ4555】求和(第二类斯特林数,组合数学,NTT)

    [BZOJ4555]求和(第二类斯特林数,组合数学,NTT) 题面 BZOJ 题解 推推柿子 \[\sum_{i=0}^n\sum_{j=0}^iS(i,j)·j!·2^j\] \[=\sum_{i= ...

  9. HDU - 4625 JZPTREE(第二类斯特林数+树DP)

    https://vjudge.net/problem/HDU-4625 题意 给出一颗树,边权为1,对于每个结点u,求sigma(dist(u,v)^k). 分析 贴个官方题解 n^k并不好转移,于是 ...

随机推荐

  1. 【转】实现Nginx代理WSS协议

    https://blog.csdn.net/chopin407/article/details/52937645 后来看到了官网的教程(http://nginx.org/en/docs/http/we ...

  2. [转帖]十分钟快速理解DPI和PPI,不再傻傻分不清!

    十分钟快速理解DPI和PPI,不再傻傻分不清! https://baijiahao.baidu.com/s?id=1605834796518990333&wfr=spider&for= ...

  3. cmd远程连接oracle数据库

  4. spring IOC源码分析(ApplicationContext)

    在上一篇文章中,我们以BeanFactory这条主线进行IOC的源码解析的,这里,将以ApplicationContext这条线进行分析.先看使用方法: @Test public void testA ...

  5. 4面向对象(OOP)

    学习线路 初学: 熟悉语法 进阶: 1.23种设计模式 2.6中开发原则 高级: 1.优化 2.架构 3.安全 概念 类:一类具有相同特性的事物的抽象描述,用一个java类表示. 成员变量:抽取的属性 ...

  6. 在windows 7上安装TensorFlow

    TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习.目前被50个团队用于研究和生产许多Google商业产品,如语音识别.Gmail.Google 相册和搜索,其中许多产品曾使用 ...

  7. SSM+shiro及相关插件的整合maven所有依赖,详细注释版,自用,持续更新

    整合了SSM+shiro框架,slf4j+logback日志,及一些好用的插件PageHelper,mybatis-generator,Lombok,fastjson等等 <?xml versi ...

  8. WinForm中在非UI线程更改控件值的办法

    从非UI线程调用UI控件赋值.或进行其他更新UI的操作的话,会出现异常: System.InvalidOperationException:“线程间操作无效: 从不是创建控件“xxx”的线程访问它.” ...

  9. Java调用.NET 的Web Service服务故障排除

    参考路径:http://blog.sina.com.cn/s/blog_4c925dca01014y3r.html

  10. WPF中如何调整TabControl的大小,使其跟随Window的大小而改变?

    多年不写技术博客,手生的很,也不知道大家都关注什么,最近在研究Wpf及3d模型的展示,碰到很多问题,这个是最后一个问题,写出来小结一下...... WPF中如何调整TabControl的大小,使其跟随 ...