hackerrank Week of Code 34 Path Statistics
题面在这里
题意:
给一棵树,点上有点权,每次询问u,v,k,表示询问u-v路径上出现次数第k多的点权,如果次数一样则点权越小当做次数越多。
做法:
首先肯定要树上莫队。
然后我们考虑怎么求出现次数的第k小。
发现我们要求的其实是一个二元组(次数,点权)的第k小。
于是可以考虑在这个序列上分块。
预处理出这个二元组排完序后的编号,然后分成根号块。
记录一个bsum[i]表
原创
2018-01-20 22:17:46 ·
265 阅读 ·
0 评论