无尽

The road ahead will be long. Our climb will be steep.

排序:
默认
按更新时间
按访问量

LOJ 6100 「2017 山东二轮集训 Day1」第一题

可持久化线段树+二分注意到如果[l,r]不降,[l,r-1]就肯定也不降,因此如果能对于每一个位置l,找到最远的r满足不降。这样套上主席树问题就搞定了。会降当且仅当此时异或上的a[i]的最高位恰好把当前的这一位从1变成0。因此记f[i][j][0/1]f[i][j][0/1]表示从a[1]开始异或...

2017-06-25 15:04:56

阅读数:811

评论数:0

BZOJ 3489 A simple rmq problem

可持久化树套树发现这是一个多维偏序,可持久化树套树即可。#include<cstdio> #include<algorithm> #define N 100005 using namespace std; namespace runzhe2000 { int re...

2017-04-27 23:42:08

阅读数:203

评论数:0

BZOJ 4771 七彩树

主席树如果没有深度限制的话,显然有一种维护方式:对于每一种点,给自己+1,给同一颜色的前驱和自己的LCA-1,给同一颜色的后继和自己的LCA-1,然后查子树和。加了深度限制就坑爹了。直接用dfs序维护不了,因为询问区间不连续。考虑每一个询问,我们只希望所有深度不超过dep[x]+d的点有贡献,希望...

2017-03-16 21:42:29

阅读数:466

评论数:0

BZOJ 4556 [Tjoi2016&Heoi2016]字符串

后缀数组+可持久化线段树+二分啊啊啊智商好低,想了好久。一个直观的想法是在s[a…b]中找到和s[c…d]最接近的串,使得height最大。然而一个很烦的事情是s[a…b]存在一个右边界b,意味着我们需要min一个边界值。遇到这种min啊max啊的东西一般考虑强行分类讨论。于是二分一个答案mid,...

2017-02-10 20:34:41

阅读数:332

评论数:0

CF 484E Sign on Fence

可持久化线段树+二分简要题意:给出l,r,w,在[l,r]中找连续的长度为w的一段,最大化这一段中的最小值。最大化最小值,想到二分,那么check就应当是判断[l,r]内是否存在一段由大于等于二分答案的数所组成的长度≥w的连续区间。如果已经明确了这些数在哪里,这种查询是可以用线段树维护的。再考虑每...

2017-01-14 22:05:53

阅读数:167

评论数:0

BZOJ 2588 Spoj 10628. Count on a tree

主席树+LCA对于每个点,建一棵该点到根路径上的权值线段树,用主席树搞一搞,对于每个询问(a,b),记c是他们的LCA,d是c父亲,用siz[a]+siz[b]-siz[c]-siz[d]查找即可- -WA到吐血才发现自己lower_bound里面的cnt打成n了。。。QAQ#include<...

2016-08-25 17:25:16

阅读数:171

评论数:0

POJ 2104 K-th Number

主席树。主席树大小开太小RE了- -关于主席树大小,自己的估(口)计(胡):顺便提一下,一般对于一棵n个元素的线段树,因为线段树符合二叉树的性质,所以大小约为2∗n−12*n-1(别开这么小,一般我会开到5∗n5*n左右)对于主席树,在建树的过程中,设正在建第i棵线段树。对于i的每一层(除去第一层...

2016-08-21 15:40:02

阅读数:202

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭