http://www.lydsy.com/JudgeOnline/problem.php?id=4552 二分答案 把>=mid 的数看做1,<mid 的数看做0 这样升序、降序排列相当于区间查询0,1 的个数,区间覆盖0,1 线段树即可完成 查询给定位置p 如果=1,说明p位置的数>=mid ,上 ...
分类:
编程语言 时间:
2017-11-30 23:29:39
阅读次数:
236
题目链接 ZSTU 4241 问题转化为有很多区间,现在每次给定一个区间求这个区间和之前所有区间中的某一个的交集的最大长度。 强制在线。 首先我们把所有的区间预处理出来。 然后去重(那些被包含的小区间可以去掉),再根据左端点升序排序。 这样的话这些区间的右端点也是严格升序的。 现在对于给定的$[x, ...
分类:
其他好文 时间:
2017-11-28 13:24:27
阅读次数:
159
校运会的时候随手抽的题… 一句话题意 维护一个序列,初始为空,要求滋兹: 1.查询这个序列末尾$x$个数的最大值 2.设上一次查询的答案为$t$(如果还没查询$t=0$),在末尾插入一个数$(x+t)mod d$,$d$为给定常数 很容易想到用线段树做:记录序列的末尾,然后直接单点修改区间查询 本来 ...
分类:
Web程序 时间:
2017-11-25 20:05:03
阅读次数:
267
题目: 对于一个数列,我们定义两种操作:A L R C – 在区间L至R上的所有数加上CB L R – 输出区间L到R上所有数的和为了简单起见,数列的初始值全都是0 Input: 输入有多组,处理到文件结束。对于每一组输出,第一行是三个整数N A B (1<=N<=1000000,1<=A<=N,A ...
分类:
其他好文 时间:
2017-11-25 17:25:51
阅读次数:
203
解决RMQ(Range Minimum/Maximum Query)即区间最大最小值问题。 有一个离线算法(ST算法),这个算法是很高效了,时间是O(nlogn):(用O(nlogn)的时间进行预处理,再用O(1)的时间进行区间查询) 1.先是预处理(用动态规划解决) A数列为:3 2 4 5 6 ...
分类:
其他好文 时间:
2017-11-09 22:49:53
阅读次数:
429
转载自EdwardFrog's Home 奇妙的数据结构。 常用于 单点修改、区间查询。也可以通过某些手段进行 区间修改、单点查询。 本篇主要讨论后者。 ————准备材料——————————————————————————————————————————————————————————— 原数组a, ...
分类:
编程语言 时间:
2017-11-08 13:08:09
阅读次数:
174
http://www.lydsy.com/JudgeOnline/problem.php?id=4034 算是对线段树的一个复习,树链剖分+区间增减单点增减区间查询。真的简单到不用lca,但是线段树又写错了一次。 果然手熟才真的能码出来题,一段时间不写线段树操作都快忘完了,区间是放到标记上单点是直接 ...
分类:
其他好文 时间:
2017-11-05 13:09:52
阅读次数:
142
P3374 【模板】树状数组 1 P3374 【模板】树状数组 1 P3374 【模板】树状数组 1 时空限制1s / 128MB 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某一个数加上x 2.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含两个整数N、M,分别表示该 ...
分类:
编程语言 时间:
2017-11-05 12:18:35
阅读次数:
203
题目:BZOJ4034、洛谷P3178。 题目大意:有一棵点数为 N 的树,以点 1 为根,且树有点权。然后有 M 个操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a 。 操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。 操作 3 :询问某个节点 x 到根的路径中所有点 ...
分类:
其他好文 时间:
2017-11-05 12:12:20
阅读次数:
179
HDU 1754 I Hate Ithttp://acm.hdu.edu.cn/showproblem.php?pid=1754//////////////////注意线段树 的大小要比 需要使用线段树的数据的个数 大个3到4倍 /////////////////////////////////// ...
分类:
其他好文 时间:
2017-10-21 16:29:00
阅读次数:
209