码迷,mamicode.com
首页 > 其他好文 > 详细

51nod 1533 && CF538F

时间:2017-01-28 21:11:41      阅读:396      评论:0      收藏:0      [点我收藏+]

标签:需要   总计   依次   line   tar   排序   problems   art   get   

题目:难以简述,请传送门

神犇题解Ⅰ   神犇题解Ⅱ

好劲啊跪在地上。。完全没接触过K叉树的性质。。

对于每个询问,我们并不关心叶节点,只关心其他的节点。而一个完整K叉树的内节点个数是O(n/k)的,所以总计下来就是调和级数,也就是O(nlogn)个点需要我们计算。

然后对于每个点我们要查询一个区间内有多少个点权值小于它,并累计入答案。我们可以用两种方式在O(logn)时间复杂度实现这个操作

1.树状数组。我们将每个询问区间拆成[1,l-1],[1,r],然后减掉就好了。具体来说,我们把区间排序,然后依次用树状数组处理,一边计算贡献一边更新树状数组(操作过程类似于求逆序对)。

2.主席树。这个不用多赘述。

总复杂度O(nlognlogn)。

51nod 1533 && CF538F

标签:需要   总计   依次   line   tar   排序   problems   art   get   

原文地址:http://www.cnblogs.com/enigma-aw/p/6354496.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!