Fancy Arrays

好题中的好题

看这篇题解

这篇题解的那个绝对值不应该打的,因为那里本来就是表示的差分数组

解释一下什么叫确定最小值。当确定了差分数组之后,我们如果确定了\(a_1\),整个数组就确定了;即使我们将\(a_1\)当成一个变量,\(a_i\)\(a_1\)的差值也是知道的,所以我们一定知道这个数列的最小值在哪个位置,所以当我们确定了最小值之后,我们就可以确定整个数列了

这题我一开始想到了容斥的,也搞出来了当\(maxa_i<x\)的时候的矩阵乘法,但是差分数组这个思想确实不知道,所以我们以后看到两项之差也许可以往差分数组想

update 2024.4.14

重做此题,感触良多

首先就是数列计数,又出现了差值可以往差分数组上面想

然后我花了大概半个小时才想出来当差分数组确定之后,整个数组的最小值的位置也就确定了(这个一定印象得深刻)

然后我又花了大概20min,明白了要用矩阵快速幂加速。因为我最开始一直没有敢写DP(\(n\)太大了),但是后面实在没有办法,把DP方程一写就知道可以矩阵快速幂优化了。所以一定得知道无论如何写方程啊,说不定就是矩阵快速幂了

update 2024.7.24

重做此题,还是没能发现差分数组确定之后,整个数组的最小值的位置就确定了啊!

posted @ 2024-03-11 21:54  最爱丁珰  阅读(2)  评论(0编辑  收藏  举报