BJOI 2019 游记 Day 1 开场拿到 \(T1\) 发现可以转成求平均 \(log\) 直接 \(AC\) 自动机上 \(Dp\) 一波即可 \(T2\) 发现是到数论神仙题,大概能想到要用斯特林数转成 \(k\) 次幂求和之类的,但是通项公式那套东西推不动,打暴力 \(T3 ...
BJOI 删数 线段树 题面 洛谷 题解 按照值域我们把每个数的出现次数画成一根根的柱子,然后把柱子向左推导, ,n 中未被覆盖的区间长度就是答案。 于是问题变成了单点修改值,即修改两根柱子的长度。全体修改就可以理解为询问区间的平移。 那么只需要拿线段树维护这个东西就行了。 ...
2019-04-22 15:09 4 683 推荐指数:
BJOI 2019 游记 Day 1 开场拿到 \(T1\) 发现可以转成求平均 \(log\) 直接 \(AC\) 自动机上 \(Dp\) 一波即可 \(T2\) 发现是到数论神仙题,大概能想到要用斯特林数转成 \(k\) 次幂求和之类的,但是通项公式那套东西推不动,打暴力 \(T3 ...
T1 给一个有空白字符的串 $S$,和若干模板串 $X_i$,初始 $Ans = 1$,每当一个模板串在 $S$ 中作为子串出现时,$Ans$ 会乘以 $X_i$ 的权值 $Val_i$,然后如果 ...
当前为第\(t\)个操作 即修改的\(2^{t-1}\)棵线段树中 有多少棵的\(x\)节点的\(T ...
入门级数据结构算法。复习一下,分别手写一个。 线段树版本(过了CF上的https://codeforces.com/contest/1291/problem/D): 树状数组版本(怪不得潘神这么喜欢,写起来确实短得多): ...
总原理: 将[1,n]分解成若干特定的子区间(数量不超过4*n) 用线段树对“编号连续”的一些点,进行修改或者统计操作,修改和统计的复杂度都是O(log2(n)) 用线段树统计的东西,必须符合区间加法,(也就是说,如果已知左右两子树的全部信息,比如要能够推出父节点);否则,不可能通过分 ...
目录 为什么要使用线段树? 什么是线段树? 创建一棵线段树 线段树的查询操作 线段树的更新操作 为什么要使用线段树? 最经典的线段树问题:区间染色 有一面墙 ,长度为n,每次选择一段儿墙进行染色,m次操作后 ...
更新地址:传送门 --- 权值线段树 所谓权值线段树,就是一种维护值而非下标的线段树,我个人倾向于称呼它为值域线段树。 举个栗子:对于一个给定的数组,普通线段树可以维护某个子数组中数的和,而权值线段树可以维护某个区间内数组元素出现的次数。 在实现上,由于值域范围通常较大,权值线段树 ...
这一篇来讲讲线段树合并。 前置知识:动态开点线段树 还是一样先给一道例题:[JOI2012] Building2 题面是日文的,这里给出中文翻译: 有n">n">n个城市,它们组成了一棵树。 第i">i个城市有一座高度为Hi">Hi的建筑。 n">n">i">Hi">你需要选择一条尽量长 ...