[AGC003E] Sequential operations on Sequence 题解
神仙思维题,那我的评价是太妙了。
思路
我们发现正的十分难以维护这个过程。
考虑可以倒着进行这个操作。
容易发现对于整块,我们找到在前面第一个小于它的 \(a_i\)。
然后就会有一个贡献的转移,\(f_i=f_{now}\times \frac{a_{now}}{a_i}\)。
至于散块,我们发现可以通过这样的递归继续处理。
即,\(\text{solve}(a_{now}\bmod a_i)\)。
至于转移的时候还有一些系数上的问题,仔细处理一下即可。
最后使用差分进行区间加的操作。
答案再算一遍前缀和即可。
Code
AC记录。