
主席树
文章平均质量分 77
Miao_zc
膜Hz
展开
-
主席树(可持久化线段树)
我真弱。。。连主席树都不会。。。主席树相当于多个线段树,由于相邻两棵线段树的节点的值只有少许不同,因此可以对于和前一棵树一样的子树一个指针指过去,无需操作,这样每棵树O(logn),总复杂度O(nlogn)。以下是区间K大代码:#include#include#include#define N 100005#define M 4000000using namespace st原创 2016-04-01 20:43:44 · 711 阅读 · 0 评论 -
bzoj1926: [Sdoi2010]粟粟的书架
AC:100题这是一道2合一水题。。。看数据范围:对于 50%的数据,满足 R, C≤200,M≤200,000 另有 50%的数据,满足 R=1,C≤500,000,M≤20,000所以对于50%的数据用a[i][j][k]表示比k大的数的个数,b[i][j][k]表示比k大的数的和。O(1000*RC)预处理+O(log 1000)询问水过。另50%的数据考虑主席树,v原创 2016-04-07 15:57:37 · 1214 阅读 · 0 评论 -
bzoj3218: a + b Problem
题目名称是吸引我点进来的。首先这是一个最小割模型,对点i,连S->i:b[i],i->T:w[i],i->i':p[i],i'->j(奇怪):inf,这样就有了一个TLE的算法。怎么办呢?然后vfk强行将n^2的边减少到nlogn。。。原创 2016-12-14 20:57:20 · 646 阅读 · 0 评论 -
cf757G. Can Bash Save the Day?
简述题意:给一棵n个节点的数和一个n的数组(n的排列),支持两个操作:1 询问a[l]~a[r]的所有点到某个点的距离,2 交换a[x]与a[x+1]。一开始想到了这道题bzoj4012: [HNOI2015]开店,大概看了之后发现是开店的加强版。我想到像开店一样使用主席树处理,显然操作2很容易。然而他的时间是一个log。大概看了题解,感觉套路~ 毕竟开店的题解大多是log^2。。原创 2017-03-02 16:11:23 · 987 阅读 · 0 评论 -
loj#6169. 相似序列
最近口胡了一个随机的idea,结果在loj上连出3道类似的题。。我的思路是这样的:给每个数一个随机权值,如果两个序列的数的随机权值异或和相等可以认为这两个序列排序后相同。考虑主席树,对于两个区间l~r的数,如果递归不同的部分,直到两半都相同。然后就能得到那两个不同的数,再判断一下即可。#include#define ll long long#define N 100005#defin原创 2017-06-23 21:35:03 · 829 阅读 · 1 评论