
划分树
文章平均质量分 76
Hexrt
南昌航空大学软件学院,ACMerRetired。
求知若渴,虚心若愚。
傲慢与偏见才是进步的最大阻碍。
展开
-
K-th number-静态区间第K大【划分树模板】
传送门 给定l,rl,rl,r求区间第kkk大,静态 分析 划分树模板 代码 // /* @Author: YooQ */ #include <iostream> #include <stdio.h> #include <algorithm> using namespace std; #define sc scanf #define pr printf #define ll long long #define int long long #define FILE_OU原创 2021-08-14 02:22:55 · 215 阅读 · 0 评论 -
HDU3473.Minimum Sum【划分树加标记】
传送门 给定一个NNN长度的数组,求区间[l,r][l,r][l,r] 找到一个整数xxx满足∑i=lr∣x−xi∣\sum_{i=l}^{r}{|x-x_i|}∑i=lr∣x−xi∣最小 也就是找中位数,区间第 (len+1)/2(len+1)/2(len+1)/2 大 分析 找静态区间第KKK大可以通过划分树或者主席树找 同时要找到xi<=xx_i<=xxi<=x的和,以及xi>xx_i>xxi>x的和 主席树,维护权值为下标的同时,维护权值乘个数的和即可原创 2021-08-12 19:17:27 · 90 阅读 · 0 评论 -
划分树-解题报告
核心要义: 划分树的每个区间根据排序后的中值进行大小划分 分析构造和查找 每个区间,指的是,从[1,N][1,N][1,N]区间划分两半,一半为 [1,mid][1, mid][1,mid] 另一半为 [mid+1,r][mid+1, r][mid+1,r],类似线段树将区间每次折半划分 中值,不是找当前区间位置中间的值,而是在排序后的数组中找位置中间的值,这样才能保证区间恰好被分成两半 划分,处理数据,将数据放到下一层,规则是小于等于中值的放左边,放满为止,剩下的放右边 可以推出,像线段树一样的划原创 2021-08-10 19:12:51 · 174 阅读 · 0 评论