题解

这是一道纯粹的数学求导题目。
首先我们先写出要求的公式。
ans=∑r=1nCnrrkans = \sum_{r=1}^{n} C_n^{r}r^kans=∑r=1n​Cnr​rk
乍一看,雾草好吓人,但是学过高等数学且稍有常识的人(不是我)可以看出,这个可以由某个式子不断乘x并求导得出来。
没错,稍有常识的人又可以看出来了,这个式子就是(1+x)n(1+x)^n(1+x)n
(1+x)n=∑r=0nCnrxr(1+x)^n = \sum_{r=0}^{n}C_n^{r}x^r(1+x)n=∑r=0n​Cnr​xr
我们定义 f0=ddx(1+x)n=n(1+x)n−1f_0 = \frac{d}{dx}(1+x)^n = n(1+x)^{n-1}f0​=dxd​(1+x)n=n(1+x)n−1
同时f0(x)=∑r=1nCnrrxr−1f_0(x) = \sum_{r=1}^{n} C_n^{r}rx^{r-1}f0​(x)=∑r=1n​Cnr​rxr−1
定义ft(x)=ddx(xft−1(x))f_t(x) = \frac{d}{dx}(xf_{t-1}(x))ft​(x)=dxd​(xft−1​(x))
这样的话fk−1(x)=∑r=1nCnrrkf_{k-1}(x) = \sum_{r=1}^{n} C_n^{r}r^kfk−1​(x)=∑r=1n​Cnr​rk
那么我们要求的答案ans=fk−1(0)(1)ans = f_{k-1}^{(0)}(1)ans=fk−1(0)​(1)
我们知道ft(x)=ddx(xft−1(x))=ft−1(x)+xft−1(1)(x)f_t(x) = \frac{d}{dx}(xf_{t-1}(x))=f_{t-1}(x)+xf_{t-1}^{(1)}(x)ft​(x)=dxd​(xft−1​(x))=ft−1​(x)+xft−1(1)​(x)
通过这个操作,ft(p)(1)=(p+1)ft−1(p)(1)+ft−1(p+1)(1)f_t^{(p)}(1) = (p+1)f_{t-1}^{(p)}(1)+f_{t-1}^{(p+1)}(1)ft(p)​(1)=(p+1)ft−1(p)​(1)+ft−1(p+1)​(1)
没错!这就是我们的递推公式!
定义dp[i][j]=fi(j)(1)dp[i][j] = f_{i}^{(j)}(1)dp[i][j]=fi(j)​(1)
dp[i][j]=(p+1)∗dp[t−1][p]+dp[t−1][p+1]dp[i][j] = (p+1)*dp[t-1][p]+dp[t-1][p+1]dp[i][j]=(p+1)∗dp[t−1][p]+dp[t−1][p+1]
由于我们只需要ans=dp[k−1][0]ans=dp[k-1][0]ans=dp[k−1][0],那么就只需要dp[k−2][0...1]dp[k-2][0...1]dp[k−2][0...1],…,只需要dp[0][0...k−1]dp[0][0...k-1]dp[0][0...k−1]
状态数O(K2)O(K^2)O(K2)


代码

#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long ll;
ll N,k;
const ll mod = 1e9+7;
const int maxn = 5007;
ll dp[maxn][maxn],sum[maxn];
ll mod_pow(ll x,ll n){ll ans = 1;while(n){if(n&1)ans = ans * x % mod;x = x*x%mod;n >>= 1;}return ans;
}
int main(){cin>>N>>k;if(N == 1){return 0*printf("1\n");}ll pre = N;for(int t = 0;t < min(N,5005ll);++t){dp[0][t] = pre*mod_pow(2,N-1-t)%mod;pre = pre*(N-1-t)%mod;}for(int i = 1;i <= k;++i){for(int j = 0;j <= k;++j){dp[i][j] = ((j+1)*dp[i-1][j] + dp[i-1][j+1])%mod;}}printf("%lld\n",dp[k-1][0]);return 0;
}

codeforces 932E Team Work 高等数学求导、dp相关推荐

  1. 高等数学求导积分公式

    高等数学求导积分公式 1 基本初等函数导数公式 (xα)′=αxα(x ^ \alpha)' = \alpha x ^ \alpha (xα)′=αxα (sin⁡x)′=cos⁡x(\sin x)' ...

  2. 高等数学——求导工具

    (一)求导公式 1 .  2 .  3 .  4 .  5 .  6 .  7 .  8 . ​​​​​​​ 9 . ​​​​​​​​​​​​​​ 10 . ​​​​​​​​​​​​​​ 11 . ​ ...

  3. 高等数学-求导基本公式

  4. minitorch系列记录——3. 自动求导

    参考: 文档地址: https://minitorch.github.io/module1.html github地址: https://github.com/minitorch/Module-1 参 ...

  5. 【WC2019】数树【子集反演】【结论】【树形dp】【生成函数】【函数求导】【多项式全家桶】

    题意:有两棵基于同一点集的树,点集大小为 nnn ,两棵树中有 opopop 棵未确定,可以取所有 nn−2n^{n-2}nn−2 种可能.给每个点染上 [1,y][1,y][1,y] 中的一个颜色, ...

  6. 二元函数对xy同时求导_更新丨10分钟掌握高等数学上册函数极限求解问题(考研、期末复习均可以用)...

    学过高数的都知道,极限在高数的应用频率是非常高的,而且是很多高数知识的基础,求导.变限积分求极限.多重积分求极限等等均会用到 虽然是基础,但是很多人在刚学习的时候就会直接被理论弄懵圈,因此就无法继续再 ...

  7. 隐函数及参数方程求导——“高等数学”

    各位CSDN的uu们你们好呀,今天,小雅兰的内容是隐函数求导和参数方程求导,下面,就让我们进入求导数的世界吧 一.隐函数的导数 二.隐函数求导 三.由参数方程确定的函数的导数 四.相关变化率  一.隐 ...

  8. 【高等数学】各类函数的导数与微分求导法

    总结一下在高等数学第二章<一元函数微分学>中几种函数的导数与微分的求导方法~ ----------NO.1 反函数的求导--------- 看不懂上面的没关系,简单来说,反函数的求导方法就 ...

  9. 高等数学期末总复习DAY12.复合函数的链式求导、隐函数求导、

    DAY12. 鸽了一天,它又来了 文章目录 DAY12. 1.复合函数的链式求导 2.隐函数求导 1.复合函数的链式求导 这部分的内容也比较简单,有两个法则,按照正常步骤来一般就可以解出来题目 u对x ...

最新文章

  1. crontab 备份mysql数据库_crontab定时备份mySQL数据库
  2. 报告 | 从20世纪70年代至今,自动驾驶汽车的发展经历了哪些历史性的变革?
  3. CodeForces 340C
  4. 文件操作函数(读写)
  5. 上海工程技术大学c语言,上海工程技术大学 C语言实习报告.doc
  6. Windows XP 下的 MySQL+Apache+PHP 运行环境架设 (顶)
  7. flock SUSE/RHEL
  8. JS基础入门篇(四)—this的使用,模拟单选框,选项卡和复选框
  9. javascript示例代码
  10. Spark文本文件输入输出
  11. Landsat8处理小工具(python)
  12. USB Repair(usb设备修复工具)官方正式版V8.0.3.1069 | u盘修复软件下载 | u盘修复软件哪个最好?
  13. vb科学计算机ppt,《计算机级VB教程》PPT课件.ppt
  14. Scrapy 框架爬取豆瓣电影的信息(包括图片)和电影评论-2
  15. 公钥基础设施PKI体系介绍
  16. 查看linux内存大小
  17. Yate for mac(标记和管理音频文件工具)
  18. css英文字体 在线引用,css字体英文名称(示例代码)
  19. 企业公众号都离不开的四种运营模式
  20. 实时系统vxWorks - timer定时应用

热门文章

  1. c语言中文件如何插入数据,急求如何将下列C语言程序数据存储到文件中?
  2. java 数组 树_java使用顺序数组实现二叉树
  3. [剑指offer]面试题42:翻转单词顺序 VS左旋转字符串
  4. 邻接表2 -试在邻接表存储结构上实现图的基本操作 del_vertex-数据结构-图-icoding
  5. android中的shape资源,Android Drawable资源讲解之shape篇
  6. yii输出mysql查询日志_Yii2框架设置错误日志输出到日志或数据库
  7. java gt_JAVA泛型知识--gt; lt;? extends Tgt;和lt;? super Tgt;
  8. PTA 三足鼎立 (lower_bound()+upper_bound())
  9. string(STL)
  10. Ozon Tech Challenge 2020 (Div.1 + Div.2, Rated, T-shirts + prizes!)