![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
主席树
ljq真的不能再吃了
珍惜每一天
展开
-
【[Poi2014]Couriers】主席树
BZOJ 3524 中文题意 做法 用可持久化线段树只要找单点权值大于(y-x+1)/2 即可 /* if you can't see the repay Why not just work step by step rubbish is relaxed to ljq */ #include <cstdio> #include <cstring&g...原创 2019-04-24 15:34:36 · 129 阅读 · 0 评论 -
hdu 4417 Super Mario 二分 log *log - > Log(log)
hdu 4417 题意 给你一个区间 问你区间内小于k的数有多少个 实现了其中一个版本 我们知道上一题 hdu 2665的做法 能找出区间内第p大的数是什么 那么你可以二分这个p你就知道这个第p大的数是多少 你当前的p对应的数如果比k大 说明比k小于等于的数是要小于p的 所以右边界为mid - 1 同理 否则左边界为mid + 1 这题这样外面二分就可以做了//这样在外面二分 假设做法...原创 2019-03-12 00:20:34 · 136 阅读 · 0 评论 -
SPOJ 3267 D-query 二做
D-query 这道题在省赛接触过类似的 后来学莫队的时候把他刷了 今天把他二做一下 做法呢就是建立pre数组 pre代表这个数前面那个数出现的坐标 一开始都是0 查询区间内有多少数的pre数组小于l 那么也就是区间内有多少不同种类的数 但是如果x是1 我的版本写的有点炸 写个小特判预处理即可 #include <cstdio> #include <cstring> ...原创 2019-03-12 19:35:37 · 86 阅读 · 0 评论 -
ZOJ 2112 Dynamic Rankings 带修主席树(树状数组套主席树
ZOJ2112 啥 第一道树套树 题意 给你n个数 两种操作 一种操作查询L-R 第k大的树 静态主席树经典问题 第二种操作 把a[i] 改为t 做法 我们知道如果你想建主席树 然后暴力维护 暴力跑 时间复杂度讲会是 m*n*logn 就TLE了 况且你建主席树太多还会MLE 那么怎么做到修改呢?首先我们要知道一定要把后来修改的值也放进去离散化的数组里面 然后还是正常建主席树 唯一的区别...原创 2019-03-12 22:43:37 · 165 阅读 · 0 评论 -
【P1393 动态逆序对 】树状数组套动态开点线段树+树状数组
P1393 这题为CDQ分治打个基础 先讲这篇博客的做法 我们要知道 删一个数对答案减少的逆序对个数等于坐标在删的这个数前面的 值比我大的 加上 坐标在这个数后面的 值比我小的 那么我们用树状数组可以O(n)求出原来的 然后用树状数组套动态开点线段树可以O(log^2n)维护 并且相同复杂度查询 那么我只要在线的减 并输出答案即可 过一会写篇CDQ版本的离线做法 /* if you can...原创 2019-08-13 17:18:18 · 202 阅读 · 0 评论 -
【P3157 [CQOI2011]动态逆序对】主席树+树状数组
P3157 做法同上篇博客几乎一样 只是上篇需要离散化 这篇比较友好 不需要离散化 也等着CDQ实现的离线版本了 /* if you can't see the repay Why not just work step by step rubbish is relaxed to ljq */ #include <cstdio> #include <...原创 2019-08-13 17:19:52 · 113 阅读 · 0 评论