F. 小红的零 感觉这道题非常好,比赛的时候差一口气没写出来,但是思路是对的,所以还是非常可惜。 思路 首先我们需要知道的是,一个子数组的权值应该是所有元素的因子个数与因子个数的较小值。 假设是子数组中所有元素的因子总数量,是子数组中所有元素的因子总数量,则子数组的权值应该为。对于任意的子数组,权值之就应该是。 此时我们就可以得到一个的解法,枚举子数组的左右端点计算所有子数组的权值累加起来即可。比赛的时候就这样跑了一次,过了的数据,后来的优化比较复杂,没能写完。 线段树优化 很明显本题在遍历到某个子数组结尾时,需要把以结尾的所有子数组权值和都得到。那么我们该如何计算贡献呢?此时子数组的左端点可...