LINK:紫荆花之恋

每次动态加入一个节点 统计 有多少个节点和当前节点的距离小于他们的权值和。

显然我们不能n^2暴力。

考虑一个简化版的问题 树已经给出 每次求某个节点和其他节点的贡献。

不难想到我们直接把所有点的答案求出来 直接输出就好了 求所有点的答案 可以上点分治了树状数组维护一波就行了。

但是现在是单点求值。不难想到动态点分治。每个分治的点存一下儿子距自己的距离由小到大排序的结果 我们在对应分治节点上二分 注意减掉自己子树内的贡献即可。

减掉自己子树内的不妨 在每个点处维护自己的父亲到自己的点的距离可以发现 这样建树 查询 都不超过log^2

考虑动态插入一个点 再求值。动态插入我们就需要一棵平衡树来做这个问题了。

可以发现当插入一个点的时候 我们直接插入到对应的点分树上的父亲的下方。

这个时候考虑重构 类似于替罪羊树 我们暴力重构点分树。

参考替罪羊树的复杂度分析 最多重构nlogn个节点 每个节点要重构 维护点分树的形态+每个点的线段树的修改。

复杂度nlog^3?实际远远达不到这个复杂度。

挣扎了一下 维护线段树的话 空间和时间消耗都很大 关键是空间上的问题。

所以点分树上每个节点下不能再吊线段树了 只能吊平衡树 考虑常数原因我们考虑替罪羊树或treap.

可以发现外层已经有替罪羊了 内层还是替罪羊好了 题解中有位神仙给了一种替罪羊选择做法 大体上就是当发现失衡的时候就向上旋转可能在点数较少且容易失衡的时候跑的比较快吧。

决定了 码了这道题。

luogu P3920 [WC2014]紫荆花之恋的更多相关文章

  1. BZOJ 3435 / Luogu 3920 [WC2014]紫荆花之恋 (替罪羊树 动态点分治 套 Treap)

    题意 略 分析 引用PoPoQQQ的话 吾辈有生之年终于把这道题切了...QAQ (蒟蒻狂笑) Orz PoPoQQQ,我又抄PoPoQQQ的题解了 - 突然发现有旋Treap没那么难写 学习了一波C ...

  2. BZOJ 3435: [Wc2014]紫荆花之恋

    二次联通门 : BZOJ 3435: [Wc2014]紫荆花之恋 二次联通门 : luogu P3920 [WC2014]紫荆花之恋 /* luogu P3920 [WC2014]紫荆花之恋 怀疑人生 ...

  3. bzoj 3435: [Wc2014]紫荆花之恋 替罪羊树维护点分治 && AC400

    3435: [Wc2014]紫荆花之恋 Time Limit: 240 Sec  Memory Limit: 512 MBSubmit: 159  Solved: 40[Submit][Status] ...

  4. 【BZOJ3435】[Wc2014]紫荆花之恋 替罪点分树+SBT

    [BZOJ3435][Wc2014]紫荆花之恋 Description 强强和萌萌是一对好朋友.有一天他们在外面闲逛,突然看到前方有一棵紫荆树.这已经是紫荆花飞舞的季节了,无数的花瓣以肉眼可见的速度从 ...

  5. BZOJ3435 & 洛谷3920 & UOJ55:[WC2014]紫荆花之恋

    https://www.lydsy.com/JudgeOnline/problem.php?id=3435 https://www.luogu.org/problemnew/show/P3920 ht ...

  6. BZOJ3435: [Wc2014]紫荆花之恋(替罪羊树,Treap)

    Description 强强和萌萌是一对好朋友.有一天他们在外面闲逛,突然看到前方有一棵紫荆树.这已经是紫荆花飞舞的季节了,无数的花瓣以肉眼可见的速度从紫荆树上长了出来.仔细看看的话,这个大树实际上是 ...

  7. BZOJ3435[Wc2014]紫荆花之恋——动态点分治(替罪羊式点分树套替罪羊树)

    题目描述 强强和萌萌是一对好朋友.有一天他们在外面闲逛,突然看到前方有一棵紫荆树.这已经是紫荆花飞舞的季节了,无数的花瓣以肉眼可见的速度从紫荆树上长了出来.仔细看看的话,这个大树实际上是一个带权树.每 ...

  8. [WC2014]紫荆花之恋(动态点分治+替罪羊思想)

    题目描述 强强和萌萌是一对好朋友.有一天他们在外面闲逛,突然看到前方有一棵紫荆树.这已经是紫荆花飞舞的季节了,无数的花瓣以肉眼可见的速度从紫荆树上长了出来.仔细看看的话,这个大树实际上是一个带权树.每 ...

  9. UOJ#55 [WC2014]紫荆花之恋

    题目描述 强强和萌萌是一对好朋友.有一天他们在外面闲逛,突然看到前方有一棵紫荆树.这已经是紫荆花飞舞的季节了,无数的花瓣以肉眼可见的速度从紫荆树上长了出来. 仔细看看的话,这个大树实际上是一个带权树. ...

随机推荐

  1. Python-模块XlsxWriter将数据写入excel

    1.目的 用xlwt来生成excel的,生成的后缀名为xls,在xlwt中生成的xls文件最多能支持65536行数据.python XlsxWriter模块创建aexcel表格,生成的文件后缀名为.x ...

  2. 好看的UI框架

    一.Web 1.semantic-ui: https://semantic-ui.com/elements/divider.html 二.H5 1.BUI: http://www.easybui.co ...

  3. WeChat小程序开发-初学者笔记(一)

    WeChat小程序开发学习第一天: 完成学习目标: 1.安装并了解Wechat小程序的基本环境, 2.可以利用已学知识的结合简单实现helloWorld界面. 学习过程: 1.首先在微信平台上进行相关 ...

  4. Integer和Long部分源码分析

    Integer和Long的java中使用特别广泛,本人主要一下Integer.toString(int i)和Long.toString(long i)方法,其他方法都比较容易理解. Integer. ...

  5. java学习第七天2020/7/12

    一. java继承使用的关键字是  extend class 子类 extends 父类{} 举一个类的例子: public class person { public String name; pu ...

  6. IE9+的树状下拉菜单,支持多选

    //JS核心代码function treeBox(Config){var el=eval(Config.el);var w=Config.width;var h=Config.height;var d ...

  7. ajax配合art-template模板引擎的使用

    最近才接触js的模板引擎听说相比以前使用的js foreach加载后台返回的json数据简便很多而且效率方面也很不错.今天自己玩了一下 后台使用的是.net mvc,数据库脚本就不提供了,返回的Jso ...

  8. 如何手写一个简单的LinkedList

    这是我写的第三个集合类了,也是简单的实现了一下基本功能,这次带来的是LinkedList的写法,需要注意的内容有以下几点: 1.LinkedList是由链表构成的,链表的核心即使data,前驱,后继 ...

  9. 洛谷 P5350 序列 珂朵莉树

    题目描述 分析 操作一.二.三为珂朵莉树的基本操作,操作四.五.六稍作转化即可 不会珂朵莉树请移步至这里 求和操作 把每一段区间分别取出,暴力相加 ll qh(ll l,ll r){ it2=Spli ...

  10. Jmeter(十八) - 从入门到精通 - JMeter后置处理器 -下篇(详解教程)

    1.简介 后置处理器是在发出“取样器请求”之后执行一些操作.取样器用来模拟用户请求,有时候服务器的响应数据在后续请求中需要用到,我们的势必要对这些响应数据进行处理,后置处理器就是来完成这项工作的.例如 ...