通用技巧
一、向后贡献,向前扩展——逆向扩展法
对于一个序列 \(a_{1\sim k}\),假设我们要求他的所有前缀和之和,有表达式:\(\sum_{i=1}^na_i(k-i+1)\) ,我们发现当加入一个数 \(a_{k+1}\) 的时候,表达式增加了 \(\sum_{i=1}^{k+1}a_i\),这个式子与 \(a_{1\sim k+1}\) 都有关,是不好的。
如果我们令 \(a_{i}\) 表示从后到前第 \(i\) 个元素,那么表达式变成了 \(\sum_{i=1}^ka_ii\),这样当我们新加一个数 \(a_{k+1}\)后,表达式增加了 \(a_{k+1}\times(k+1)\),这是好的。
像这种贡献影响方向与动态添加扩展方向相反以达到快速维护的方法就是“逆向扩展法”
例题:P2053 [SCOI2007] 修车
标签:通用,技巧,sum,扩展,sim,表达式 From: https://www.cnblogs.com/lupengheyyds/p/18637664