题目描述
对于数组元素均不大于 9 的正整数数组 a,定义数组 a 的价值为将数组元素拼接在一起得到的十进制数,例如数组 a={1,1,4,5,1,4} 的价值 vala=114514 .
给定正整数 n,m (1≤m≤9),求长度为 n 且所有元素均不大于 m 的所有非严格单调递增的正整数数组的价值和,答案对 109+7 取模.
数据范围
① 1≤n≤106
② 1≤n≤1018
蒟蒻的思路
DP,令所求为 fn,m,转移显然.
初值: f1,m=2m(m+1)
转移: fn,m=10×(i=1∑mfn−1,i)+n(n+1)(n−1)m(m+1)(nm+1)Cn+m−1n−2
时间复杂度:O(n)
巨佬的思路
显然有 fn,6=9720(n+5)(n+4)(n+3)(n+2)((9n+59)10n−54n−59),fn,m 不难求出.
时间复杂度:O(logn)
Question
如何求得 fn,m 的通式?