摘要: 前言 先贴一道模板题https://www.luogu.org/problemnew/show/P2495 题意,给你一棵n个点的有边权树,有m次询问,每次询问k个点,要删除一些边使得这k个点均不与1号点联通。 数据范围:2=1,sigma(ki)=0;i ){ if (f[x][i]!=f[y][ 阅读全文
posted @ 2018-04-09 21:54 落英吹 阅读(2154) 评论(1) 推荐(5) 编辑
摘要: 前言 点分治,在我幼小的心灵中,一直觉得是个非常难的东西,我们有一次考提高模拟赛的时候,老师说这题目真 ,居然考点分治这么难的东西,学了之后发现其实也没那么难。 介绍 点分治是一种思想,多用在树上。和树上路径有关的东西点分治一下,复杂度就会更加优越。 我这篇博客讲解的是luogu的点分治模板1这道题 阅读全文
posted @ 2018-04-08 22:03 落英吹 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 前言 主席树,也叫可持久化线段树,所以他的本质是颗线段树,而可持久化指的是这颗线段树可以访问过去某个时刻线段树上的信息。 应用 应用的比较多的是查询区间的第k大值(因为其他的数据结构不好做)。 实现 下面来讲讲如何用主席树实现区间第k大。 这里的主席树是一颗权值线段树,即线段树上的一个点[l,r]表 阅读全文
posted @ 2018-04-08 09:05 落英吹 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 前言 笛卡尔树,它和treap是非常类似的,每个节点拥有两个值,key值和val值。key值是这个节点本身的大小值,在一颗treap中满足二叉查找树的性质,而val值则是一个随机值,学过treap的同学都知道,这个val值是拿来使得树的层高是期望log的,val值满足堆的性质,这里以小根堆为例讲解( 阅读全文
posted @ 2018-04-07 21:19 落英吹 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 前言 首先讲一下线性基是什么东西,线性基是一个集合,你在原集合中找到一个子集,子集中的数xor起来一定能在线性基中找一个对应子集的xor和与其相等。 比如说,{x,y}和{x,x^y} 就满足这么样一个关系。 原理 我们把这个扩展一下,比如说我们现在有一个集合A,我新加进来一个数a,那么a与A中的数 阅读全文
posted @ 2018-04-07 20:45 落英吹 阅读(2361) 评论(0) 推荐(2) 编辑