首页 > 代码库 > HDU 4417 Super Mario

HDU 4417 Super Mario

超级玛丽题目重做!  题意见http://blog.csdn.net/houserabbit/article/details/37968189


新思路:

如果我们将原串数字按大小排序  每次扫描到这个数字就在它对应的位置上+1

并且将询问按h排序  依次做每个询问

那么题目就变成了  对于每个询问  将原串数字一个一个的放进去直到h的大小  然后求R前1的个数减去L-1前1的个数

那么就可以使用树状数组


PS:


上面的提交是使用树状数组的  下面是时候划分树的

相比之下  本次的思路使速度快了3倍左右

使用树状数组的做法的复杂度为nlogn+mlogm+nlogn+2mlogn 即 nlogn 级别

使用划分树的做法的复杂度为nlogn+m(logn)^2 即 n(logn)^2 级别

而且编程复杂度也明显小于划分树

HDU 4417 Super Mario