点分治
cy41
celery cabbage
展开
-
2019厦门ccpc J(点分治)
看到厦门的榜特别惨,比较好奇这套题。题意:多组样例,一颗带有点权的无根树,定义两点路径D为其简单路径上的边的数量,定义MAX为其路径上的点权最大,MIN为其路径上的点权最小,现要你求最小的 D-MAX+MIN。 数据量总的节点数量,及最大点权均不超过10610^6106想了很久,看了一句话题解也只想到一个O(n∗log2n∗log2n)O(n*log_2n*log_2n)O(n∗log2n...原创 2019-10-23 09:45:07 · 1190 阅读 · 4 评论 -
G. Path Queries (dsu)
题目链接:G. Path Queries题意:给定一颗无根树,带边权,定义两点间的路径长度为该路径上的最大边权,q次询问qiq_iqi,询问点对数(u,v),u<v(u,v),u<v(u,v),u<v,u到v的路径长度<=qi<=q_i<=qi两种做法:将路径权值从小到大排序,询问排序,然后用并查集维护连通块的size,对于询问qiq_iqi,将边...原创 2019-10-22 11:18:30 · 247 阅读 · 0 评论 -
poj 1741(点分治)
题目链接:http://poj.org/problem?id=1741给定一颗树,以及k,一次询问,找出所有路径长度小于等于k的点对数。前置:flag[]数组表示删除的点,d[]数组代表节点到根节点的距离,b[]数组代表节点属于哪一颗子树,a[]子树中所有的节点(并按照d从小到大排序),size1[]数组表示编号为i的子树的大小,cnt[]数组表示编号为i的子树出现的次数。首先我...原创 2019-05-07 15:13:29 · 197 阅读 · 1 评论 -
2019icpc沈阳网络赛D. Fish eating fruit(点分治)
题目链接:D. Fish eating fruit题意:一颗树,有边权,定义a->b的路径为树上的最短路,分别计算路径长度取余3为0的路径和,取余为1的所有的路径和,2的~,结果对1e9+71e9+71e9+7取模。数据范围:保证所有的n加起来<=105<=10^5<=105,边权<=105<=10^5<=105该题a...原创 2019-09-14 18:41:04 · 219 阅读 · 0 评论