树套树
DZYO
Never stop
展开
-
序列操作 IV(树套树)
Description 给出序列 a1,a2,…,an(0≤ai≤109),有关序列的两种操作。ai(1≤i≤n)变成 x(0≤x≤109)。求 al,al+1,…,ar(1≤l≤r≤n)第 k(1≤k≤r-l+1)小。题解 很显然,查询待修改的区间第k大一般的数据结构已经无法实现。这里给出树套树实现查询的数据结构。 线段树+权值线段树对于每个线段树上的点维护一颗权值线段树树保存该区间所原创 2017-07-12 11:17:33 · 362 阅读 · 0 评论 -
BZOJ3065: 带插入区间K小值(替罪羊树+权值线段树)
传送门题意: 带插入区间K小值题解: 替罪羊树+权值线段树,替罪羊的每一个节点维护子树的权值线段树,暴力重建即可。 每次插入复杂度O(log2n)O(\log^2n),查询O(log2n)O(\log^2n)#include<bits/stdc++.h>using namespace std;struct IO{ streambuf *ib,*ob; inline voi原创 2017-09-30 07:44:44 · 460 阅读 · 0 评论 -
BZOJ4785: [Zjoi2017]树状数组(树套树)
传送门题解: 相当于询问你al−1al−1a_{l-1}和arara_r相同的几率(注意特判l=1l=1l=1的情况)。记他们相等的几率为p0p0p_0,不等的几率为p1p1p_1,考虑一个询问对这个几率的影响: 1.只包含l−1l−1l-1或者rrr。 此时有1len1len\frac{1}{len}的几率p0,p1p0,p1p_0,p_1互换。 2.同时包含l−1,rl−1,r...原创 2018-05-06 21:05:46 · 252 阅读 · 0 评论