- 博客(3)
- 收藏
- 关注
原创 浅谈树链剖分
树链剖分 基本思想 对于有些题目,我们往往需要对一些树链进行修改或者查询,而我们不可能每次都暴力修改暴力枚举,这样做的时间复杂度很高,而很多有修改和查询操作的数据结构例如线段树和树状数组又不能在树上进行,这个时候,我们就引进了一种算法,树链剖分,将一颗树划分为若干条链,再用数据结构去维护。 树剖的一些基础概念 重节点和轻节点 重节点指的是对于一个节点来说,以它为根的子树是所有...
2018-02-08 15:00:07
495
原创 动态主席树
浅谈动态主席树 所有有关静态主席树的内容都不再赘述,可以单击查看 基本思想 区间第k小的问题我们可以用静态主席树来维护,但是一些题目往往会增加修改操作,那么我们应该怎么做呢,先看例题。 给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+2]……a[j]中第k小的数是多少(1≤k≤j-i+1)...
2018-02-08 13:16:46
520
原创 主席树之基础入门
主席树入门(静态区间第k大) 动态主席树(带修改操作的主席树,且可以访问历史版本) 首先我们先来看一道题 给定N个正整数构成的序列,将对于指定的闭区间查询其区间内的第K小值。 输入格式: 第一行包含两个正整数N、M,分别表示序列的长度和查询的个数。 第二行包含N个正整数,表示这个序列各项的数字。 接下来M行每行包含三个整数 l, r, kl,r,k , 表示查询区间[l, r][...
2018-02-08 13:15:16
451
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人