线段树
MiniSheep_CS
编程者如上帝,可以创造万物。
展开
-
一步一步理解线段树
一 概述线段树,类似区间树,是一个完全二叉树,它在各个节点保存一条线段(数组中的一段子数组),主要用于高效解决连续区间的动态查询问题,由于二叉结构的特性,它基本能保持每个操作的复杂度为O(logn)。线段树的每个节点表示一个区间,子节点则分别表示父节点的左右半区间,例如父亲的区间是[a,b],那么(c=(a+b)/2)左儿子的区间是[a,c],右儿子的区间是[c+1,b]。转载 2015-02-15 19:21:10 · 362 阅读 · 0 评论 -
hdu1166 敌兵布阵(线段树入门题)
#includeusing namespace std;const int maxn = 50001;struct tree{ int left,right; int sum;}node;tree t[maxn * 3]; //结点数int a[maxn]; //元素的值void build(int num,int left,int right) //num表示序号原创 2015-02-15 17:31:35 · 493 阅读 · 0 评论 -
hdu1754 I Hate It(线段树)
I Hate ItTime Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 44413 Accepted Submission(s): 17437Problem Description很多学校流行一种比较的习惯。老师们很原创 2015-04-02 13:11:02 · 361 阅读 · 0 评论 -
POJ3468 A Simple Problem with Integers(线段树成段更新,区间查询)
A Simple Problem with IntegersTime Limit: 5000MS Memory Limit: 131072KTotal Submissions: 72201 Accepted: 22282Case Time Limit: 2000MSDescriptionYou have N i原创 2015-05-26 16:16:03 · 478 阅读 · 0 评论 -
POJ2104 K-th Number(划分树和主席树代码)
K-th NumberTime Limit: 20000MS Memory Limit: 65536KTotal Submissions: 41198 Accepted: 13469Case Time Limit: 2000MSDescriptionYou are working for Macrohard com原创 2015-06-12 09:26:25 · 580 阅读 · 0 评论 -
刘汝佳--线段树模版
一、线段树(点修改)Update(x,v): 把Ax修改为vQuery(L,R): 计算区间[qL,qR] 最小值。代码:// Dynamic RMQ// Rujia Liu// 输入格式:// n m 数组范围是a[1]~a[n],初始化为0。操作有m个// 1 p v 表示设a[p]=v// 2 L R 查询a[L]~a[R]的min#inclu转载 2015-05-28 09:44:30 · 809 阅读 · 0 评论 -
POJ3264(线段树求区间最大值和最小值)
Balanced LineupTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 38054 Accepted: 17819Case Time Limit: 2000MSDescriptionFor the daily milking, Farme原创 2015-05-28 13:09:52 · 614 阅读 · 0 评论 -
hdu多校第三场 Solve this interesting problem (5323 线段树模拟 + DFS)
Solve this interesting problemTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1810 Accepted Submission(s): 542Problem Description原创 2015-07-29 22:08:23 · 624 阅读 · 0 评论