划分树
Nightmare丶
登高必自卑,行远必自迩
展开
-
HDU 3473 Minimum Sum(划分树)
题意: 给出一个长度为n的序列,Q次询问,每次询问给出l,r让你求出下列式子的最小值 ∑i=lr∣x−xi∣\sum_{i=l}^{r}|x-x_i|i=l∑r∣x−xi∣ 题解: 很容易知道这道题无非就是想每次询问都找到中位数,然后求一下和。 中位数我们用划分树可以解决,求和的话我们可以再加一个数组sum[i][j]表示第i层的[L,i]之间的数中分到左子树的所有数字之和,有了这个右儿子的...原创 2019-12-27 00:34:04 · 137 阅读 · 0 评论 -
HDU 4417 Super Mario(划分树)
题意: 给出一个长度为n的序列,Q次询问l,r,H,询问在[l,r]区间中小于H的数有多少个? 题解: 用划分树求第k小的,然后二分答案即可 AC代码: #pragma GCC optimize(2) #include<bits/stdc++.h> #include<ext/rope> using namespace std; using namespace __gnu...原创 2019-12-26 00:26:50 · 163 阅读 · 0 评论 -
HDU 4251 The Famous ICPC Team Again(主席树/划分树)
题意: 给出一个长度为n的序列,m次询问l,r,每次输出区间的中间值 题解: 裸的划分树/主席树,又水了一篇题解真快乐 AC代码: #pragma GCC optimize(2) #include<bits/stdc++.h> using namespace std; using namespace __gnu_cxx; typedef long long LL; const int...原创 2019-12-25 16:39:31 · 159 阅读 · 0 评论 -
POJ 2104 K-th Number(划分树)
题意: 求区间第k小 题解: 刚看划分树,感觉划分树给我的印象就是仅仅用来求区间第k大/小… 划分树模板题,稍微写了些注释在代码中,没什么好说的 AC代码: #pragma GCC optimize(2) #include<iostream> #include<algorithm> #include<cstdio> #include<cstring>...原创 2019-12-25 16:29:16 · 121 阅读 · 0 评论