【CF932E】Team Work

题面

https://www.luogu.org/problem/CF932E

题解

先交换求和号、把$S2(i,j)$中$j>i$的部分去掉、再对角线替换、最后配个对$i$来说的“常数”,就把式子变成一个组合数了。

#include<iostream>
#include<cstdio>
using namespace std;
#define mod 1000000007
#define inv2 500000004
#define ri register int
#define N 5050
int pow(int a,int b){int s=1;while(b){if(b&1)s=1ll*s*a%mod;a=1ll*a*a%mod;b>>=1;}return s;}
int n,k,s2[N][N],ans;
int main() {
  scanf("%d%d",&n,&k);s2[0][0]=1;
  for(ri i=1;i<=k;++i)
    for(ri j=1;j<=k;++j)
      s2[i][j]=(s2[i-1][j-1]+1ll*s2[i-1][j]*j)%mod;
  for(ri j=0,pw=pow(2,n),nw=1;j<=min(n,k);pw=1ll*pw*inv2%mod,nw=1ll*nw*(n-j)%mod,++j)
    ans=(ans+1ll*s2[k][j]*nw%mod*pw%mod)%mod;
  printf("%d\n",ans);
  return 0;
}

原文地址:https://www.cnblogs.com/shxnb666/p/11478810.html

时间: 2024-10-08 18:36:59

【CF932E】Team Work的相关文章

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

传送门 题意: 求\(\displaystyle \sum_{i=0}^n{n\choose i}i^k,n\leq 10^9,k\leq 5000\). 思路: 将\(i^k\)用第二类斯特林数展开,推导方式如:传送门. 但这个题要简单一些,不用\(NTT\)预处理,直接递推就行. 详见代码: /* * Author: heyuhhh * Created Time: 2019/12/12 10:42:37 */ #include <iostream> #include <algorit

【poj1112】 Team Them Up!

http://poj.org/problem?id=1112 (题目链接) 题意 将n个人分成两组,每个人有认识的人,要求每一组中的人互相认识,并且两组人数之差尽可能的小,求如何分. Solution 二分图染色的裸题,比较麻烦的是dp统计答案..下午急着去打球,照着hzwer的程序码了一遍. 代码 // poj1112 #include<algorithm> #include<iostream> #include<cstdlib> #include<cstrin

【draft】Team project :Bing dictionary plug-in

课后~ 开会调研开会调研开会~ 在和Bing词典负责人进行了可行性的深入磋商后,我们对本次选题有了更加清晰的认识~困难好多~然而终于敲定了项目内容,我们的目标是这样一款神奇的插件,它帮你记录下新近查询过的词语,并且后续还能够自动找出,帮你翻译帮你记忆.再也不用一边读文献一边查单词了有木有! 再也不怕退出页面回去找的麻烦了有木有!还是酷炫的uwp平台,妈妈再也不用担心我的学习~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~困难必将被克服,我们的征途是星辰与大海~~

【CodeForces】932 E. Team Work

[题目]E. Team Work [题意]给定n和k,n个人中选择一个大小为x非空子集的代价是x^k,求所有非空子集的代价和%1e9+7.n<=10^9,k<=5000. [算法]斯特林反演 [题解]枚举非空子集大小,则题目要求: $$ans=\sum_{i=1}^{n}\binom{n}{i}i^k$$ 对通常幂进行斯特林反演,得到: $$ans=\sum_{i=1}^{n}\binom{n}{i}\sum_{j=1}^{k}\begin{Bmatrix} k\\ j \end{Bmatri

【POJ 2259】 Team Queue

[题目链接] http://poj.org/problem?id=2259 [算法] 由题,一个人入队时,若这个人所在的组已经有人在队列中,则加入队列,否则排到队末 因此我们发现,这个队列一定是由连续的一组人的若干段组成,不妨用一个队列记录每组人的顺序,再分别将每组建一个队列 维护这(n+1)个队列即可,具体细节,笔者不再赘述 [代码] #include <algorithm> #include <bitset> #include <cctype> #include &

【Bootstrap】2.作品展示站点

假设我们已经想好了要给自己的作品弄一个在线站点.一如既往,时间紧迫.我们需要快一点,但作品展示效果又必须专业.当然,站点还得是响应式的,能够在各种设备上正常浏览,因为这是我们向目标客户推销时的卖点.这个项目可以利用Bootstrap的很多内置特性,同时也将根据需要对Bootstrap进行一些定制. 1.设计目标 虽然对大屏幕中的展示效果已经胸有成竹,但我们还应该从小设备开始,强迫自己聚焦在关键的要素上面. 这个作品展示站点应该具有下列功能: □ 带Logo的可折叠的响应式导航条: □ 重点展示四

【转】NPOI使用手册

[转]NPOI使用手册 NPOI使用手册 目录 1.认识NPOI 2. 使用NPOI生成xls文件 2.1 创建基本内容 2.1.1创建Workbook和Sheet 2.1.2创建DocumentSummaryInformation和SummaryInformation 2.1.3创建单元格 2.1.5创建批注 2.1.6创建页眉和页脚 2.2 单元格操作 2.2.1设置格式 2.2.2合并单元格 2.2.3对齐相关设置 2.2.4使用边框 2.2.5字体设置 2.2.6背景和纹理 2.2.7设

【干货】Laravel --Validate (表单验证) 使用实例

前言 : Laravel 提供了多种方法来验证应用输入数据.默认情况下,Laravel 的控制器基类使用ValidatesRequests trait,该trait提供了便利的方法通过各种功能强大的验证规则来验证输入的 HTTP 请求.要掌握 Laravel 强大的验证特性,让我们先看一个完整的验证表单并返回错误信息给用户的例子. 在这之前如果您是首次接触 Laravel 而且并不知道路由如何跳转到指定的控制器 可以查看博主的Restfulapi或者Laravel官网对路由的介绍,在这里就不做介

【转】对于杭电OJ题目的分类

[好像博客园不能直接转载,所以我复制过来了..] 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze 广度搜索1006 Redraiment猜想 数论:容斥定理1007 童年生活二三事 递推题1008 University 简单hash1009 目标柏林 简单模拟题1010 Rails 模拟题(堆栈)1011 Box of Bricks 简单题1012 IMMEDI