1、hdu-4325 题意:插花,要么给出插花的范围,要么查询某个点的花的个数。 思路:通过更新,每次更新区间S到T的数值,表插入花(这一点一开始没想到), 要么查询某个点的花的数目。 (与以往单纯的区间查询和单点修改的区间和不太相同)。 2、hdu-1166 典型的单点查找,区间求和的问题。(套模 ...
分类:
编程语言 时间:
2018-12-07 21:23:31
阅读次数:
206
"嘟嘟嘟" 很显然是主席树啊。 首先要稍微想想:主席树的板子是单点插入,区间查询,而区间询问是用的是前缀和相减。但这道题是区间修改,单点查询。插入和查询操作是相反的。 那么就能想到前缀和的逆运算——差分。首先把修改区间拆成$L$和$R + 1$两个时间点,然后按时间排序,遇到$L$就把对应的优先级$ ...
分类:
其他好文 时间:
2018-12-05 00:18:02
阅读次数:
187
区间修改 区间查询 最后一场比赛前的无可救药的热身 ...
分类:
其他好文 时间:
2018-11-24 20:55:29
阅读次数:
146
题目大意: 给定树的N个结点 编号为1到N 给定N-1条边的边权。 三种操作: CHANGE k w:将第 k 条边的权值改成 w。 NEGATE x y:将x到y的路径上所有边的权值乘 -1。 QUERY x y:找出x到y的路径上所有边的最大权值。 单点更新 区间更新 区间查询 由于第二个操作是 ...
分类:
其他好文 时间:
2018-11-22 02:57:16
阅读次数:
191
以前用线段树做的题。。发现splay好神奇 splay的区间查询就是把那个区间移到两个节点之间进行操作即可,同时每次rotate不要忘记pushup ...
分类:
其他好文 时间:
2018-11-21 17:40:53
阅读次数:
156
又到了快乐的板子题时间了!!!QwQ 显然这道题用线段树是可以做的 , 但是蒟蒻的我还是想用树状数组写(好吧还是因为太懒了) 所以就变成了一个树状数组的单点修改+区间查询+跑一个DFS的题目 代码如下 include include include include include define LL ...
分类:
其他好文 时间:
2018-11-19 20:20:05
阅读次数:
242
题目大意:维护一个长度为 N 的序列,支持区间修改、区间查询两种操作。 代码如下 cpp include using namespace std; const int maxn=1e6+10; inline int read(){ int x=0,f=1;char ch; do{ch=getchar ...
分类:
其他好文 时间:
2018-11-18 02:10:44
阅读次数:
225
这可能是我最后一次更新博客了呢 # 前言 很久之前,我初学树状数组的时候感觉非常的复杂、神奇、晦涩难懂。。。 果然还是我太菜了。后来了解到线段树的可删减性,这两者就自然而然的联系在一起了。 # 线段树的可删减性 很显然,对于一些区间操作的问题,线段树有着绝对的优势,基本上只要是区间查询之类的问题,那 ...
分类:
编程语言 时间:
2018-11-07 23:14:21
阅读次数:
280
根号算法 分块 数列分块入门九题(hzwer) 入门题1,2,3,4,5,7 问题:给一段区间打上标记后单点查询 解法:主要是每块维护一些标记,计算答案等,此类分块较为简单 注意: 块大小一般为$\sqrt n$ 复杂度:$O(n\sqrt n)$ 入门题6 问题:每次朝数列中间插入一个元素,查询第 ...
分类:
编程语言 时间:
2018-11-04 15:43:19
阅读次数:
207