首先 这道题需要我们求出111~nnn中所有aia_iai 的乘积
由小学知识可以知道 乘法其实就是多次的加法
比如
3∗4=3+3+3+3=4+4+43*4=3+3+3+3=4+4+4 3∗4=3+3+3+3=4+4+4
所以 我们可以创建一个数组,每次获取当前值sumsumsum(也就是数组的总和)
然后把111~a−1a-1a−1位都加上目前的总和,那么总共加了a−1a-1a−1个sumsumsum,所以
sum+sum∗(a−1)=sum∗asum+sum*(a-1)=sum*a sum+sum∗(a−1)=sum∗a
我们就完美的求出了乘法!
那么只需要用线段树维护区间加和区间求和就可以了
上代码!