树的点分治
文章平均质量分 73
PoPoQQQ
这个作者很懒,什么都没留下…
展开
-
POJ 1741 Tree 树的点分治
题目大意:给定一棵树,求树上距离不超过k的点对(x,y) (x男人八题第五题。。。其实没那么难的说。。。比NOI2014最后一题好写多了0.0首先两个点之间的路径有两种情况:1.两点之间路径经过根2.两点之间路径不经过根首先讨论情况1我们从根出发进行一次DFS,求出每个点到根的距离,排序,然后扫一遍数组O(n)出解但其中如果两个点都属于根的同一棵子树,那么这两个点的路径原创 2014-10-10 11:43:43 · 1779 阅读 · 0 评论 -
BZOJ 3672 NOI2014 购票 树的分治 NOI2014全AC达成!!!!
警告 本篇文章作者大脑已成一团浆糊,为了保证文章的流畅性,请阅读者将脑子搅成纸浆后方可正常阅读首先题目大意:给定一棵以1为根的有根树,边有边权,每个点有三个参数:p,q,l从该点可以走到它的祖宗节点处,前提是距离d不超过l且花销为pd+q昨天时间不咋多,就没写。。。今天中午吃完饭开始写,结果一直写到五点半,一下午课都没去上,死定了0.0这题如果不是数的话就是斜率优化 但是尼玛原创 2014-09-02 17:38:07 · 6005 阅读 · 0 评论 -
BZOJ 4012 HNOI2015 开店 动态树分治+二分
题目大意:给定一棵树,每个点有一个颜色,多次询问颜色在[l,r][l,r]区间内的所有点与某个点之间的距离之和,强制在线没记错的话这题我知道的有三种解法来着? (茴香豆的茴有四种写法泥萌知道嘛…?1.线段树维护虚树 2.点分治+线段树 3.分块第一种方法我不知道在线怎么搞= = (我并不知道怎么在虚树上进行点定位 第三种方法貌似内存过不去? 于是果断点分治+线段树写完发现内存还是炸了= =原创 2015-04-29 12:44:38 · 3788 阅读 · 2 评论 -
BZOJ 3924 Zjoi2015 幻想乡战略游戏 动态树分治
题目大意:给定一棵树,每个点有一个点权,多次改变某个点的点权,多次查询带权重心到所有点的带权距离之和此生无悔入东方,来世愿生幻想乡首先我们考虑如何计算一个点到所有点的带权距离之和且支持修改用动态树分治就好了嘛。。。每个点记录子树中带权距离之和,以及权值之和,再在每个子树中记录一个需要减掉的版本然后一直向上扫到根就能统计了↑这段话面对会写动态树分治的人,不会的先去切捉原创 2015-04-04 14:13:34 · 4453 阅读 · 0 评论 -
BZOJ 1095 ZJOI2007 Hide 捉迷藏 动态树分治+堆
题目大意:给定一棵树,一开始每个点都是黑点,多次改变某个点的状态或询问距离最远的两个黑点的距离《珍爱生命远离STL可是我还是可耻地用了STL系列》传说中的动态树分治。。。其实并没有那么神嘛= =↑别听这傻瓜瞎说这货被STL卡了一天QAQ我们把分治过程中遍历过的重心都连起来 上一层的重心链接下一层的重心 可以得到一棵新的树下面我们开始讨论这棵新树显然这棵树的高度不会超原创 2015-03-19 17:42:16 · 7345 阅读 · 0 评论 -
BZOJ 1758 Wc2010 重建计划 树的点分治+二分+单调队列
题目大意:给定一棵树,询问长度在[l,u]范围内的路径中边权的平均值的最大值01分数规划,首先想到二分答案既然是统计路径肯定是点分治每次统计时我们要找有没有大于0的路径存在那么对于一棵子树的每一个深度i记录一个路径权值和的最大值然后在这棵子树之前的所有子树的深度可选范围就是[l-i,u-i] 这个窗口是不停滑动的 因此用单调队列维护最大值即可↑上面这些网上的题解都说的还是蛮原创 2014-12-11 12:11:13 · 2527 阅读 · 0 评论 -
BZOJ 3672 NOI2014 购票 树的点分治+斜率优化
题目大意:给定一棵以1为根的有根树,每条边有边权,每个点有三个值pi,qi,li从一个点可以走到它的某个祖先处,前提是距离d不超过li,花销为pi*d+qi求从每个点到达根节点的最小花销这道题的上一份题解:http://blog.csdn.net/popoqqq/article/details/39009219很不幸我作死去重写了一发233之前的写法真是SB的1B。。。 为何要原创 2015-01-12 12:10:26 · 5250 阅读 · 1 评论 -
BZOJ 2599 IOI2011 Race 树的点分治
题目大意:给出N(1 树的点分治,统计方法同POJ1741,不过比较讨厌的一点是最小值不支持区间减法,所以直接把所有路经长=k的方案都计入ans,然后就可以相减了,最后从左到右扫一遍即可~写的好慢。。。基本就是卡时过的 RANK1那家伙到底写了啥。。。#include#include#include#include#define M 200200using namespa原创 2014-10-11 19:48:56 · 1681 阅读 · 0 评论 -
BZOJ 3365 Distance Statistics 树的点分治
题目大意:同POJ1741链接:http://blog.csdn.net/popoqqq/article/details/39959803和POJ1741一样的题,土豪题,POJ有道一样的题,做完1741可以水水我会告诉你我直接改了下上题的代码么0.0数据范围4W 距离最大1000 不会爆INT 放心写吧#include#include#include#include#原创 2014-10-10 12:42:43 · 1969 阅读 · 0 评论 -
BZOJ 2152 聪聪可可 树的点分治/树形DP
题目大意:给定一棵树,每条边上有边权,求距离为3的倍数的有序点对树的点分治,对于每个重心统计出每棵子树距离重心长度为0/1/2的点的数量,计算出ans即可最后ans*2+1 和n^2进行一下约分即可其实我上当了……这题根本就没必要写树的点分治,直接树形DP就出来了开一个三元组记录某棵子树中距离子树的根节点距离为某值的点的个数然后直接统计+转移就行了树的点分治:原创 2014-10-27 10:11:50 · 3353 阅读 · 0 评论 -
BZOJ 3435 Wc2014 紫荆花之恋 动态树分治+替罪羊树+Treap
题目大意:给定一棵树,每次添加一个节点并询问当前有多少点对满足dis(i,j)吾辈有生之年终于把这道题切了。。。QAQ什么?你想做这题?1095切了么?没?去把1095切掉再说!3065切了么?没?去把3065切掉再说!什么?都切了?那还不会做这题??……算了还是说说做法吧。。。我们抛开那些乱七八糟的,考虑朴素做法原创 2015-03-20 12:34:27 · 6239 阅读 · 4 评论