给定一个长度为nnn的数组aaa,其中ai≤109a_i \leq 10^9ai≤109,把数组划分为k(k≤20)k(k \leq 20)k(k≤20)个连续部分,求各个部分的aia_iai的乘积之和的最小值模109+710^9 + 7109+7。
未优化状态:f[i][j]f[i][j]f[i][j]为以第iii个数作第jjj段的结尾的最小值。计算时间复杂度O(n2k)O(n^2k)O(n2k)
能否提供O(nk)O(nk)O(nk)的算法,或者提供原题?