将$f(k)=\sum_{i=0}^{m}a_{i}k^{i}$转换为$f(k)=\sum_{i=0}^{m}b_{i}k^{\underline{i}}$,其中$k^{\underline{i}}=\frac{k!}{(k-i)!}$
题目即求$\sum_{k=0}^{n}c(n,k)x^{k}\sum_{i=0}^{m}b_{i}\cdot k^{\underline{i}}$
调整枚举顺序,即$\sum_{i=0}^{m}b_{i}\sum_{k=0}^{n}c(n,k)x^{k}k^{\underline{i}}$
观察发现$c(n,k)k^{\underline{i}}=\frac{n!}{k!(n-k)!}\frac{k!}{(k-i)!}=\frac{n!}{(k-i)!(n-k)!}=c(n-i,k-i)n^{\underline{i}}$
代入原式,即$\sum_{i=0}^{m}b_{i}n^{\underline{i}}\sum_{k=0}^{n}c(n-i,k-i)x^{k}$
令$k'=k-i$,即$\sum_{i=0}^{m}b_{i}n^{\underline{i}}x^{i}\sum_{k'=0}^{n-i}c(n-i,k')x^{k'}$
观察发现右式即$(x+1)^{n-i}$二项式展开,那么即$\sum_{i=0}^{m}b_{i}n^{\underline{i}}x^{i}(x+1)^{n-i}$
那么问题变为如何求出$b_{i}$,即如何将多项式转换为下降幂多项式【luoguP5383】
根据第二类斯特林数的性质,有$x^{n}=\sum_{i=0}^{n}c(x,i)i!S(n,i)=\sum_{i=0}^{n}S(n,i)x^{\underline{i}}$
那么就有$\sum_{i=0}^{m}a_{i}x^{i}=\sum_{i=0}^{m}a_{i}\sum_{j=0}^{i}S(i,j)x^{\underline{j}}=\sum_{j=0}^{m}x^{\underline{j}}\sum_{i=j}^{m}a_{i}S(i,j)$,即$b_{j}=\sum_{i=j}^{m}a_{i}S(i,j)$
本题由于$m\le 1000$,仅需要根据$S$的递推式暴力求出$S$并$o(m^{2})$计算即可

 1 #include<bits/stdc++.h>
2 using namespace std;
3 #define N 1005
4 int n,x,mod,m,ans,a[N],b[N],s[N][N];
5 int ksm(int n,int m){
6 if (!m)return 1;
7 int s=ksm(n,m>>1);
8 s=1LL*s*s%mod;
9 if (m&1)s=1LL*s*n%mod;
10 return s;
11 }
12 int main(){
13 scanf("%d%d%d%d",&n,&x,&mod,&m);
14 for(int i=0;i<=m;i++)scanf("%d",&a[i]);
15 s[0][0]=1;
16 for(int i=1;i<=m;i++)
17 for(int j=1;j<=i;j++)s[i][j]=(s[i-1][j-1]+1LL*j*s[i-1][j])%mod;
18 for(int i=0;i<=m;i++)
19 for(int j=i;j<=m;j++)b[i]=(b[i]+1LL*a[j]*s[j][i])%mod;
20 int s=1;
21 for(int i=0;i<=m;i++){
22 ans=(ans+1LL*b[i]*s%mod*ksm(x,i)%mod*ksm(x+1,n-i))%mod;
23 s=1LL*s*(n-i)%mod;
24 }
25 printf("%d",ans);
26 }

[loj3300]组合数问题的更多相关文章

  1. LCM性质 + 组合数 - HDU 5407 CRB and Candies

    CRB and Candies Problem's Link Mean: 给定一个数n,求LCM(C(n,0),C(n,1),C(n,2)...C(n,n))的值,(n<=1e6). analy ...

  2. 计算一维组合数的java实现

    背景很简单,就是从给定的m个不同的元素中选出n个,输出所有的组合情况! 例如:从1到m的自然数中,选择n(n<=m)个数,有多少种选择的组合,将其输出! 本方案的代码实现逻辑是比较成熟的方案: ...

  3. Noip2016提高组 组合数问题problem

    Day2 T1 题目大意 告诉你组合数公式,其中n!=1*2*3*4*5*...*n:意思是从n个物体取出m个物体的方案数 现给定n.m.k,问在所有i(1<=i<=n),所有j(1< ...

  4. C++单元测试 之 gtest -- 组合数计算.

    本文将介绍如何使用gtest进行单元测试. gtest是google单元测试框架.使用非常方便. 首先,下载gtest (有些google项目包含gtest,如 protobuf),复制目录即可使用. ...

  5. NOIP2011多项式系数[快速幂|组合数|逆元]

    题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k , ...

  6. AC日记——组合数问题 落谷 P2822 noip2016day2T1

    题目描述 组合数表示的是从n个物品中选出m个物品的方案数.举个例子,从(1,2,3) 三个物品中选择两个物品可以有(1,2),(1,3),(2,3)这三种选择方法.根据组合数的定 义,我们可以给出计算 ...

  7. 【板子】gcd、exgcd、乘法逆元、快速幂、快速乘、筛素数、快速求逆元、组合数

    1.gcd int gcd(int a,int b){ return b?gcd(b,a%b):a; } 2.扩展gcd )extend great common divisor ll exgcd(l ...

  8. 【BZOJ-4591】超能粒子炮·改 数论 + 组合数 + Lucas定理

    4591: [Shoi2015]超能粒子炮·改 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 95  Solved: 33[Submit][Statu ...

  9. UOJ263 【NOIP2016】组合数问题

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...

随机推荐

  1. 20 行代码:Serverless 架构下用 Python 轻松搞定图像分类和预测

    作者 | 江昱 前言 图像分类是人工智能领域的一个热门话题.通俗解释就是,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法. 它利用计算机对图像进行定量分析,把图像或图像中 ...

  2. SQL Server链接服务器信息查询

    exec sp_helpserver --查询链接服务器select * from sys.servers --查询链接服务器链接地址

  3. Centos7最小安装后快速初始化脚本

    功能说明 服务器通常使用最小化安装操作系统,使用该脚本可快速初始化一些基本配置,包括以下: 1.ssh修改默认端口 2.ssh禁止root登陆 3.selinux及firewalld禁用 4.hist ...

  4. Java初步学习——2021.10.05每日总结,第五周周三

    (1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 今天学了对象与类,如何定义类和创建对象,以及构建方法的用法. 明天课比较多,把今天未学的例子敲一遍好了. 没有遇到什么问题.

  5. Java初步学习——2021.10.05每日总结,第五周周二

    (1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 今天学习了二维数组,包括二维数组的声明,和二维数组的创建.以及获取二维数组的长度,其中要注意的是二维数组是每个元素都是一维数 ...

  6. FastAPI 学习之路(十六)Form表单

    系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...

  7. 新一代数据科学ide平台DataSpell提前发行版体验

    1 简介 PyCharm开发公司jetbrains专门面向数据科学的ide项目DataSpell在前不久发布了其EAP版本(早期预览版本),为我们带来了诸多趋于成熟的功能特性,本文就将为大家介绍其使用 ...

  8. mall笔记

    介绍 SpringBoot.SpringCloud.SpringCloudAlibaba.Nacos.Sentinel.Seata整合demo. 软件架构 JDK 1.8 Spring Boot 2. ...

  9. JuiceFS 如何帮助趣头条超大规模 HDFS 降负载

    作者简介 王振华,趣头条大数据总监,趣头条大数据负责人. 王海胜,趣头条大数据工程师,10 年互联网工作经验,曾在 eBay.唯品会等公司从事大数据开发相关工作,有丰富的大数据落地经验. 高昌健,Ju ...

  10. 使用cerebro可视化ElasticSearch集群信息

    使用cerebro可视化ElasticSearch集群信息 一.背景 二.安装步骤 1.下载并解压 2.配置cerebro 3.启动 cerebro 4.启动界面 三.注意事项 四.参考文档 一.背景 ...