"题目" 题意:找到数组里每个元素的右边有多少个元素小于当前元素 题解:单点更新,区间查询。线段树或者树状数组都可以。注意要离散化 ...
分类:
编程语言 时间:
2020-03-13 20:55:32
阅读次数:
68
题: 题意:给一棵树,每个节点有权值。每次询问要求回答一个值XOR某条路径上的一个点的最大值。 分析:我们在学可持续化01字典树时,写的模板题是支持区间查询的,插入一个数是pre是和u-1之间建立,那么在树上这个关系就是父亲与儿子的关系建立可持续化01字典树; 然后查询久查询[fa[lca[x,y] ...
分类:
其他好文 时间:
2020-03-11 19:46:29
阅读次数:
56
堆 优先队列 前置知识:二叉树。 参考资料 暂无 堆就是优先队列,可以用来解决动态区间查询最值问题。 堆就是一个完全二叉树,可以插入节点,删除根节点(也可以删除特定节点)。 为了方便,普通的堆节点 $i$ 的父亲就是 $[i\div2]$ ($[x]$ 表示不超过 $x$ 的最大整数)。 节点 $i ...
分类:
其他好文 时间:
2020-03-08 09:19:45
阅读次数:
60
hdu 1166排兵布阵 单点修改+区间查询的树状数组的应用: 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef unsigned int ui; 4 typedef long long ll; 5 typedef unsigned ...
分类:
编程语言 时间:
2020-03-07 20:41:47
阅读次数:
88
SPOJ GSS4 (区间开根号 + 区间查询) (线段树) "传送门" 题目大意: 对于给定的$n$个数的序列,我们定义两个操作,分别是区间开根号以及区间求和。共有$m$次查询,其中$n,m\leq1e5,\sum_{i=1}^na_i\leq1e18$ 我们会发现一个神奇的事情(然而并不神奇), ...
分类:
其他好文 时间:
2020-03-03 20:38:17
阅读次数:
70
"原题" 这是一道基于树状数组基本操作的板子题。 本题涉及到树状数组几个基本操作: ① 单点查询 ② 单点修改 ...
分类:
其他好文 时间:
2020-03-02 17:40:27
阅读次数:
68
操作表内容 注册一个表 增删改 查看表中内容 显示模式 查表顺序 where 初级筛选 group by分组 与聚合 having对组过滤 distinct 去重 order by 排序 limit 取一个区间 查询步骤 ...
分类:
其他好文 时间:
2020-03-01 10:56:56
阅读次数:
77
"原题链接" 这显然是一道 树据结构 ~~毒瘤卡常~~题 考虑用树剖 则原操作珂转换为: 1. 在区间$[l, r]$同时$±1$ 2. 询问区间$[l, r]$内有多少数$ 0$ ~~然后发现不能线段树~~ 珂以用分块 在每一块里搞一个关于值域的后缀和,即$\text{cnt}_{\text{i, ...
分类:
其他好文 时间:
2020-03-01 00:02:04
阅读次数:
70
板子 单点修改 区间查询(求和) 1 //单点修改,区间查询(加) 2 #include<iostream> 3 #include<cstdio> 4 #include<cctype> 5 #define re register int 6 using namespace std; 7 const ...
分类:
其他好文 时间:
2020-02-29 00:29:28
阅读次数:
69
int c[50005]; //对应原数组和树状数组 int lowbit(int x){ return x&(-x); } void updata(int i,int k){ //在i位置加上k while(i <= n){ c[i] += k; i += lowbit(i); } } int g ...
分类:
编程语言 时间:
2020-02-25 09:54:54
阅读次数:
81