- 博客(4)
- 收藏
- 关注
原创 主席树详解——从入门到放弃
要想学主席树,首先要搞懂可持久化线段树,因为主席树运用到了它的思想。主席树的模板题是:静态查询区间第k小那么主席树的做法就是,先把全部数字离散化,然后以每一个前缀建一棵权值线段树,显然,如果直接建,那么空间上是不允许的,但是我们发现,每两个相邻的前缀中,只有一个数的差别,所以,他们公共部分是很多的,于是,我们就可以用到可持久化线段树了!首先,要明确一下,主席树上每个节点的值的定义(我们...
2018-05-28 13:09:27 4882 2
原创 可持久化线段树
废话就不多说了,直接进入主题吧!可持久化线段树主要用来解决什么样的问题呢,就像下面这个:有一个数列,你需要维护以下几种操作:1、单点修改2、查询在第x次修改前的区间和因为要查询在第x操作前的区间和,那么我们肯定要能够用一种奇妙的做法来保存第x次操作前的线段树,那怎么保存呢?首先,肯定是不能对每一次操作新建一棵线段树,因为线段树本来就是很耗空间的一个东西,那么我们细细想一下,发现...
2018-05-25 13:31:06 2321
原创 树状数组2——更高深的树状数组
一、区间修改区间求和这个东西可就不是把 单点查询区间修改 和 单点修改区间查询 合起来那么简单了,仔细想想,拿之前的办法都不咋地好做,那么怎么办呢,我们还是要用到差分数组,设原数组为a,差分数组为b,则b[1]=a[1],b[i]=a[i]-a[i-1]那么区间修改我们就解决了,只需要log的时间即可,但是,这种做法对于区间求和就很弱了,但是!保持我们的决心!不能被它吓到!我们首先看一下用...
2018-05-20 17:44:57 278
原创 洛谷 P2712 摄像头 题解
题目大意:有一些摄像头,监视着一些位置,每个摄像头有自己的位置,如果这个摄像头的位置被其他摄像头监视着,那么它就不能被拆除,拆除一个摄像头之后就不能监视它原来监视的位置,问可否拆完全部摄像头。这道题做法很多,这里提供两种做法,一种是普遍使用的做法,一种是我自己的做法(我的做法。。可能比较烦,但思路类似,请放心食用!)做法1:对于这道题,很容易可以想到,若摄像头A监视着摄像头B,那么A就向B连一条边...
2018-05-06 16:00:36 299
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人