
线段树
文章平均质量分 79
01的世界
有时,失去了才懂得珍惜
展开
-
2015 ACM/ICPC Asia Regional Changchun Online 1007 hdu 5443 线段树区间最值
The Water ProblemTime Limit: 1500/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 234 Accepted Submission(s): 193Problem DescriptionIn Land wate原创 2015-09-14 07:53:02 · 395 阅读 · 0 评论 -
Codeforces 629D - Babaei and Birthday Cake 线段树
题目:629D - Babaei and Birthday Cake 题意:给你1-n个圆柱体,要求从1-n,选择一些体积逐渐增大的圆柱体,使得所选的圆柱体体积之和最大。分析:看到这题,n的数据范围1e5,感觉会超时,于是很快用n^2的dp敲完,超时。。。O(n^2)的状态转移方程:dp[i]表示到i圆柱体最大的体积和if(val[i]>val[j]){dp[i]=max(dp原创 2016-02-23 22:10:06 · 408 阅读 · 0 评论 -
hdu 1828 Picture 线段树 矩形周长并
题目:点击打开链接题意:矩形周长并思路:与面积不同的地方是还要记录竖的边有几个(numseg记录),并且当边界重合的时候需要合并(用lbd和rbd表示边界来辅助)线段树操作:update:区间增减 query:直接取根节点的值#include#include#includeusing namespace std;#define lson l,m,rt<<1#defin原创 2016-02-23 14:20:48 · 537 阅读 · 0 评论 -
hdu 1542 Atlantis 线段树矩形面积并+离散化
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1542题意:给一些矩形,可能会有重叠,求总的矩形面积我是看了胡浩的那篇文章,学习一下。思路:浮点数先要离散化;然后把矩形分成两条边,上边和下边,对横轴建树,然后从下到上扫描上去,用cnt表示该区间下边比上边多几个,sum代表该区间内被覆盖的线段的长度总和这里线段树的一个结点并非是线段的一原创 2016-02-23 10:48:20 · 484 阅读 · 3 评论 -
hdu 3667 线段树区间合并
题目:点击打开链接题意:有一个线段,从1到n,下面m个操作,操作分两个类型,以1开头的是查询操作,以2开头的是更新操作1 w 表示在总区间内查询一个长度为w的可用区间,并且要最靠左,能找到的话返回这个区间的左端点并占用了这个区间,找不到返回0 好像n=10 , 1 3 查到的最左的长度为3的可用区间就是[1,3],返回1,并且该区间被占用了2 a len , 表示从单位a开始原创 2016-02-22 17:21:18 · 409 阅读 · 0 评论 -
poj2528 Mayor’s posters 线段树+离散化
Mayor's postersTime Limit: 1000MS Memory Limit: 65536KB 64bit IO Format: %I64d & %I64uSubmitStatus DescriptionThe citizens of Bytetown, AB, could not stand th原创 2015-08-31 20:28:11 · 341 阅读 · 0 评论 -
poj 2777 线段树+位标记
题意:给一个固定长度为L的画板,有两个操作:C A B C:区间AB内涂上颜色C。思路:线段树的好题,线段树 + lazy思想的经典应用。而且和位运算结合到了一起。因为颜色数量很少,而且父结点的颜色正好是两个子结点颜色的按位或,因此可以用位运算。最后1的个数就是不同颜色的个数。P A B:查询区间AB内颜色种类数。参考博客:点击打开链接#include#inclu原创 2015-08-21 21:41:09 · 307 阅读 · 0 评论 -
poj 3468 线段树成段增减+区间求和
给出了一个序列,你需要处理如下两种询问。"C a b c"表示给[a, b]区间中的值全部增加c (-10000≤ c ≤ 10000)。"Q a b" 询问[a, b]区间中所有值的和。Input第一行包含两个整数N,Q。1≤ N,Q ≤ 100000.第二行包含n个整数,表示初始的序列A (-1000000000≤ Ai ≤10000原创 2015-08-18 18:25:27 · 411 阅读 · 0 评论 -
Codeforces 620E New Year Tree
http://codeforces.com/problemset/problem/620/E题意: 给以一棵树,每个结点刚开始的时候都有一个颜色,现在有查询1 u col:给这个结点及其子树染上col这种颜色,2 u:查询以u为根节点的子树的所有颜色种类分析: 显然是到线段树的题目,要把每个节点的子树放到一个区间上,并且记录首尾位置,这样就可以更新颜色的时候成段更新,查询颜色种类的时候区间查询。原创 2016-03-18 13:06:31 · 680 阅读 · 0 评论 -
Codeforces 527C 线段树 /set
题目:http://codeforces.com/problemset/problem/527/C题意:给出矩形的长和高,然后给出一些操作,水平或者竖直切割矩形,每切割一次,求出剩下的面积最大的矩形分析:看到题目,就想到是如何维护区间的最大值,第一想到的就是线段树,可以把还可以划线点的用1表示,划了线的用0表示,然后求最大长度就是如何求连续的1的最大个数,那么这题的变成了一原创 2016-03-05 22:52:45 · 448 阅读 · 0 评论 -
hdu 1394 最小逆序数 线段树单点增减,区间求和
Minimum Inversion NumberTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 14883 Accepted Submission(s): 9085Problem DescriptionThe原创 2015-09-01 19:51:01 · 308 阅读 · 0 评论 -
hdu 5592 线段树
设fif_ifi是第iii个前缀的逆序对数,pip_ipi是第iii个位置上的数,则fi−fi−1f_i-f_{i-1}fi−fi−1是iii前面比pip_ipi大的数的个数.我们考虑倒着做,当我们处理完iii后面的数,第iii个数就是剩下的数中第fi−fi−1+1f_i-f_{i-1}+1fi−fi−1+1大的数,用线段树和树状数组可以轻松地求出当前第k原创 2015-12-06 19:55:54 · 262 阅读 · 0 评论 -
poj 2823 Sliding Window (线段树 求固定区间的最大最小值 )
Sliding WindowTime Limit: 12000MS Memory Limit: 65536KTotal Submissions: 10791 Accepted: 2934Case Time Limit: 5000MSDescriptionAn array of size n ≤ 106 is g原创 2015-08-17 13:27:22 · 360 阅读 · 0 评论 -
hdu 2795 Billboard 变形线段树区间求最大值
BillboardTime Limit: 20000/8000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 15914 Accepted Submission(s): 6713Problem DescriptionAt the entrance to原创 2015-08-31 17:37:47 · 297 阅读 · 0 评论 -
hdu1698 Just a Hook 线段树成段替换
题目:点击打开链接题意:给你T组数据,N个数(初始时每个数的值为1),M个操作,每个操作把区间[a,b]里的数更新为c,问最后这N个数的和是多少分析:因为只是最后查询总区间的和,所以只需要更新就可以了#include#includeusing namespace std;#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1原创 2015-08-31 18:09:36 · 377 阅读 · 0 评论 -
poj 3264 Balanced Lineup (线段树模板题)
Balanced LineupTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 40175 Accepted: 18865Case Time Limit: 2000MSDescriptionFor the daily milking, Farme原创 2015-08-16 21:48:27 · 585 阅读 · 0 评论 -
hdu 1754 Ihate it 线段树 单点替换和区间最值
I Hate ItTime Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 51767 Accepted Submission(s): 20299Problem Description很多学校流行一种比较的习惯。老师们很原创 2015-08-21 13:27:43 · 265 阅读 · 0 评论 -
hdu 1166 敌兵布阵(线段树模板)
敌兵布阵Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 60655 Accepted Submission(s): 25712Problem DescriptionC国的死对头A国这段时间正在进行军事演习,所以原创 2015-08-30 17:56:20 · 316 阅读 · 0 评论 -
Codeforces 627B Factory Repairs 线段树
题目:627B - Factory RepairsInputThe first line contains five integers n,k, a,b, and q (1 ≤ k ≤ n ≤ 200 000,1 ≤ b a ≤ 10 000, 1 ≤ q ≤ 200 000) — the number of days, the length of the repa原创 2016-03-15 12:31:40 · 458 阅读 · 0 评论