题解 P7721 [Ynoi2007] rvrewsus
也许是一血,吗?
其实不是特别难。。
考虑
就是对值域分块,这样每块的信息是容易合并的。对于每块只有
对每块
考虑会重复的情况。可以发现上面的分治仍然适用,只要让每块内的元素个数
另一个问题是一个数出现次数如果超过
所以这个问题已经解决了。对于值域的整块,用上面的方法处理;对于值域的散块,在序列上跑个莫队就行。
时间复杂度
卡常方面用 long double 实现快速乘就还好。
也许是一血,吗?
其实不是特别难。。
考虑
就是对值域分块,这样每块的信息是容易合并的。对于每块只有
对每块
考虑会重复的情况。可以发现上面的分治仍然适用,只要让每块内的元素个数
另一个问题是一个数出现次数如果超过
所以这个问题已经解决了。对于值域的整块,用上面的方法处理;对于值域的散块,在序列上跑个莫队就行。
时间复杂度
卡常方面用 long double 实现快速乘就还好。