
树上莫队
bestFy
世界上最最最渣的oier.
展开
-
spojCOT2 Count on a tree II
题面在这里题意:给一棵树,每个点有点权。 m个询问,每次询问一对点u,v,问u-v这条链上有多少种不同的点权。做法:一眼看就是莫队。。 不过是树上的。扔一个博客:http://vfleaking.blog.163.com/blog/static/174807634201311011201627/ (我自己也没仔细看过但似乎比较好)首先将树分块。 分块的方法就原创 2018-01-20 17:36:54 · 328 阅读 · 0 评论 -
hackerrank Week of Code 34 Path Statistics
题面在这里题意:给一棵树,点上有点权,每次询问u,v,k,表示询问u-v路径上出现次数第k多的点权,如果次数一样则点权越小当做次数越多。做法:首先肯定要树上莫队。然后我们考虑怎么求出现次数的第k小。 发现我们要求的其实是一个二元组(次数,点权)的第k小。 于是可以考虑在这个序列上分块。 预处理出这个二元组排完序后的编号,然后分成根号块。 记录一个bsum[i]表原创 2018-01-20 22:17:46 · 310 阅读 · 0 评论