区间信息的维护与查询
文章平均质量分 80
__AiR_H
智障蒟蒻,蠢哭。。。QwQ
展开
-
线段树 2016.4.15
1、HDU 1166 敌兵布阵单点更新#include #include #include using namespace std;typedef long long LL;struct SegTree { int left, right; LL sum;};const int maxn = 50000 + 5;int num[maxn];SegT原创 2016-04-13 21:43:33 · 343 阅读 · 0 评论 -
线段树 2017.4.26
1、BZOJ 4364 [IOI2014]wall砖墙解题思路:维护区间最大值和最小值以及区间是否相同加读入优化和不加读入优化#include #include #include #include #include #include #include #include #include #include #include #include #in原创 2017-04-21 15:16:04 · 431 阅读 · 0 评论 -
线段树 2017.4.20
1、Codeforces 272C Dima and Staircase解题思路:区间更新#include #include #include #include #include #include #include #include #include #include #include #include #include #include using原创 2016-10-24 09:02:52 · 499 阅读 · 0 评论 -
分块
1、POJ 2104 K-th Number参考:《挑战程序设计竞赛》P186注意:1、各种边界问题2、块的大小要合适,比如书中的1000,块的大小为sqrt(n)会超时,因为在进行判断的时候复杂度是有差别的,分别为sqrt(n * logn和sqrt(n) * logn#include #include #include #include #include #inc原创 2017-03-10 11:16:17 · 358 阅读 · 0 评论 -
归并树
1、POJ 2104 K-th Number参考:《挑战程序设计竞赛》P188#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace原创 2017-03-10 17:05:53 · 306 阅读 · 0 评论 -
树状数组
1、POJ 3468 A Simple Problem with Integers参考:《挑战程序设计竞赛》P182区间同时加上一个数,区间求和#include #include #include #include #include #include #include #include #include #include #include #include原创 2017-03-06 17:26:47 · 322 阅读 · 0 评论 -
区间信息的维护与查询_1 2016.4.24
连续和查询问题给定一个n个元素的数组A1,A2,...,An,你的任务是设计一个数据结构,支持一个查询操作Query(L, R):计算AL + AL+1+ ... + AR如何做呢?如果每次用循环来计算,单次查询需要O(n)的时间,效率太低如果借助前缀和思想,可以花O(n)时间事先计算好Si = A1 + A2 + ... + Ai(定义S0 = 0),因为Query(原创 2016-04-24 20:37:48 · 657 阅读 · 1 评论 -
区间信息维护与查询 2016.10.13
1、团队程序设计天梯赛-练习集-L3-002 堆栈解题思路:维护区间内点的个数#include #include #include #include #include #include #include #include #include #include #include using namespace std;#define DEBUG printf原创 2016-07-14 21:42:11 · 497 阅读 · 0 评论 -
RMQ 问题 2016.7.26
UVa 11235 Frequent values#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;typedef long long ll;type原创 2016-07-25 21:10:53 · 342 阅读 · 0 评论 -
线段树 2016.4.13
一、定义线段树(Segment Tree )是一种二叉搜索树不是真正的完全二叉树,但十分近似它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点对于线段树中的每一个非叶子节点[a, b],它的左儿子表示的区间为[a, (a+b)/2],右儿子表示的区间为[(a+b)/2+1 ,b] 因此线段树是平衡二叉树由于二叉树结构的特性,它基本能保持每个操作的时间复杂度为O(logN)线段树在原创 2016-04-11 23:06:00 · 412 阅读 · 2 评论 -
线段树
1、Codeforces 377D Developing Game解题思路:参考:http://codeforces.com/blog/entry/10157http://www.cnblogs.com/qscqesze/p/5541837.html转化为扫描线问题#include #include #include #include #include #in原创 2017-04-26 15:26:11 · 486 阅读 · 0 评论