这道题是让你求第 (n+1) 个五边形数,多组数据。
楼上已经给出了 (O(n+t)) 的解法,但是这个解法太不优秀了。
考虑 (O(t)) 通项公式解。
现在手动推一下,很明显, (f_1=1,f_n=f_{n-1}+3n-2) 。
我不满意,这样一次询问的复杂度就是 (O(n)) 的了!
仔细观察,然后尝试对差分求出前缀和,对于每个询问 (O(1)) 解决,用通项公式表达为 (f_n=frac{n(3n-1)}{2}).
然后我们就可以求出第 (n+1) 个五边形数了。
这道题是让你求第 (n+1) 个五边形数,多组数据。
楼上已经给出了 (O(n+t)) 的解法,但是这个解法太不优秀了。
考虑 (O(t)) 通项公式解。
现在手动推一下,很明显, (f_1=1,f_n=f_{n-1}+3n-2) 。
我不满意,这样一次询问的复杂度就是 (O(n)) 的了!
仔细观察,然后尝试对差分求出前缀和,对于每个询问 (O(1)) 解决,用通项公式表达为 (f_n=frac{n(3n-1)}{2}).
然后我们就可以求出第 (n+1) 个五边形数了。