树分治
文章平均质量分 90
丿残念灬
这个作者很懒,什么都没留下…
展开
-
SPOJ-QTREE4 Query on a tree IV(边分治)
QTREE4 - Query on a tree IV#treeYou are given a tree (an acyclic undirected connected graph) with N nodes, and nodes numbered 1,2,3...,N. Each edge has an integer value assigned to it(no原创 2017-07-21 01:06:25 · 1370 阅读 · 0 评论 -
树分治总结
一.前言树分治就是在树形结构上进行分而治之的操作,包括点分治和边分治。①点分治的效率比较稳定,最坏情况下递归深度为O(logn)。②边分治在定点度数D为常数时,基于边的分治递归最坏深度为O(log N) ,然而D较大时会达到O(N),这种效率显然是不行的,不过可以通过添加虚点,使得每个节点的度数都不大于3,这样既可保证效率。二.点分治例题:POJ-1741题意:一棵有n个节点的树,每条边有个权值代...原创 2017-07-21 01:08:24 · 4534 阅读 · 0 评论 -
HDU-4918 Query on the subtree(树分治+树状数组)
Query on the subtreeTime Limit: 16000/8000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 1193 Accepted Submission(s): 375Problem Descriptionbobo ha原创 2017-07-23 00:58:04 · 407 阅读 · 0 评论 -
BZOJ-4012 开店(动态树分治)
传送门:BZOJ-4012题意:给定一棵树,每个点有一个颜色,多次询问颜色在[l,r]区间内的所有点与某个点之间的距离之和又是一个数组开小T到怀疑人生系列。。(我怎么总是管不住这双手root数组只开MX呢)一个经典的动态树分治题目,用树状数组保存每个节点到该层子树的根节点的距离,然后一层一层计算就行。= =本来应该是这样的,后来看了下发现颜色有n种,n^2logn的树状数组肯定爆内原创 2017-08-14 19:02:33 · 338 阅读 · 0 评论 -
COGS-2278 树黑白(动态树分治)
传送门:COGS-2278题意:给定一棵树,要求维护以下操作:1、M u 将u节点反色2、Q u 查询u到所有黑色节点距离和题解:动态树分治,更新时判断一下原本是黑色还是白色,是黑色就减去u与根的距离,是白色就加上#includeusing namespace std;const int MX = 2e5 + 5;const int MXM = MX * 40;stru原创 2017-08-14 20:48:59 · 601 阅读 · 0 评论 -
COGS-2258 复仇的序幕曲(动态树分治)
传送门:COGS-2258题意:在一棵n个节点的树上进行m次询问:与u的距离不超过t的节点权值和题解:动态树分治每一层子树把节点按与根节点的距离排序,记录一下前缀和 #include<bits/stdc++.h>using namespace std;const int MX = 8e4 + 5;const int MXM = MX * 40;struct...原创 2017-08-14 21:33:47 · 324 阅读 · 0 评论 -
HDU-5977 Garden of Eden(树分治+枚举子集)
Garden of EdenTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 673 Accepted Submission(s): 212Problem DescriptionWhen God made原创 2017-07-16 01:21:36 · 740 阅读 · 0 评论 -
POJ-1741 Tree(树分治)
TreeTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 22767 Accepted: 7527DescriptionGive a tree with n vertices,each edge has a length(positive integer原创 2017-07-14 09:33:08 · 1147 阅读 · 0 评论