题意:
给出一个序列,每次询问一个区间内权值在[a,b]内的数有几种
题解:
想一下,大概可以想到O(n∗sqrtn∗logn)的做法。就是莫队然后维护个树状数组。
但是,复杂度要求是O(n∗sqrtn)的。
那相应的每次修改的都要O(1)完成,然后需要用一个东西来代替树状数组来完成统计。
可以考虑对数的权值分块,这样就可以O(1)实现,统计就直接统计中的块,然后暴力两边的即可。
啊啊啊,我好搞笑啊,最后一步一直在想些什么。。。
区间查询优化技巧
题意:
给出一个序列,每次询问一个区间内权值在[a,b]内的数有几种
题解:
想一下,大概可以想到O(n∗sqrtn∗logn)的做法。就是莫队然后维护个树状数组。
但是,复杂度要求是O(n∗sqrtn)的。
那相应的每次修改的都要O(1)完成,然后需要用一个东西来代替树状数组来完成统计。
可以考虑对数的权值分块,这样就可以O(1)实现,统计就直接统计中的块,然后暴力两边的即可。
啊啊啊,我好搞笑啊,最后一步一直在想些什么。。。
327

被折叠的 条评论
为什么被折叠?