loj#P6054. 「from CommonAnts」一道数学题

「from CommonAnts」一道数学题

题目描述

已知函数 f(k,x)(k,xN+)f(k,x)(k,x\in \mathbb {N_+}) 满足:

$$f(k,x)= \begin{cases} 1 & x=1\\ \sum_{i=1}^{x-1} f(k,i) + x^k & x>1 \end{cases} $$

现在给定 n,kn,k,求 f(k,n)f(k,n)

由于答案很大,你只需计算答案对 109+710^9+7 取模后的值。

输入格式

一行两个十进制正整数 n,kn,k

输出格式

一行一个十进制整数,表示答案对 109+710^9+7 取模的结果。

4 2
37
2333333 2
514898185
1234567890000 3
891659731
66666666 10
32306309
1000000000000000000 1000
933631114
999999999999999989 49989
584156079

数据范围与提示

对于 20%20\% 的数据, n1000,k10n\leq 1000,k\leq 10
对于另外 10%10\% 的数据, n1018,k3n\leq 10^{18},k\leq 3
对于 40%40\% 的数据, n1018,k10n\leq 10^{18},k\leq 10
对于 50%50\% 的数据, n101000000,k150n\leq 10^{1000000},k\leq 150
对于 80%80\% 的数据, n101000000,k2000n\leq 10^{1000000},k\leq 2000
对于 100%100\% 的数据,1n101000000,1k500001\leq n\leq 10^{1000000},1\leq k\leq 50000