线段树
一步一步地往上爬
沉心静气,默默努力
展开
-
POJ 2777 Count Color
#include <stdlib.h>#include <stdio.h>#include <iostream>#include <queue>#include <stack>#include <string.h>#include <math.h>#include <algorithm>...原创 2019-10-15 18:04:30 · 843 阅读 · 0 评论 -
SPOJ - DQUERY D-query
练习离散化所以用了f,ref数组。这道题的ai范围是1e6,或许可以不用离散化?#include <stdlib.h>#include <cstdio>#include <iostream>#include <queue>#include <stack>#include <string.h>#incl...原创 2019-09-25 19:48:08 · 112 阅读 · 0 评论 -
HDU 4417 Super Mario
离线处理的策略也很重要!AC:#include <stdlib.h>#include <cstdio>#include <iostream>#include <queue>#include <stack>#include <string.h>#include <math.h>#include...原创 2019-09-25 20:46:17 · 135 阅读 · 0 评论 -
POJ A Simple Problem with Integers
一道模板题,输入数组in【】一开始设置成longlongWA了一下午!!!!下面代码注释处应为int,引以为戒!#include <stdlib.h>#include <cstdio>#include <iostream>#include <queue>#include <stack>#include <...原创 2019-09-25 16:47:57 · 126 阅读 · 0 评论 -
HDU 1698 Just a Hook
lz标记简单应用给屠夫帕奇换钩子哈哈哈,好多年没玩dota了。。。备战中考那年沉迷dota,每天晚上和基友打dota,成绩下滑,不但没去成本地最好的高中,在次一等的高中里也没能进尖子班,三年过的浑浑噩噩,转眼已是大二,终于知道自己该干什么了,可是却没有当时改变命运的好条件了。想来真是和dota有缘,不玩了,知道学了,又遇上了。#include <stdlib.h>...原创 2019-09-25 16:31:39 · 93 阅读 · 0 评论 -
HDU 3333 Turing Tree
学到了一个很好的思路,建立输入顺序和输入值的相对大小的对应关系,就是下面代码中的ref数组还有就是不要拘泥于模板,这道题的线段树处理只需要一个ll数组就行两篇不错的博客:https://blog.csdn.net/dacc123/article/details/52797310https://www.cnblogs.com/111qqz/p/4712392.html...原创 2019-09-24 19:43:12 · 181 阅读 · 0 评论 -
POJ 2299 Ultra-QuickSort
最近刚开始学线性代数,一开始看到这道题想到求逆序数。求法的话一开始想的是建立线段树,储存最大元,然后每个元都跟后面的线段的最小元比较,如果小于就加上区间长度。但是这样建立线段树效率并不高,因为后面的元随机嘛,若是123123这样的序列,并没有优化太多,不出意外的超时了。然后查了一下资料,这道题要用到离散化,重新建立一组映射推荐一篇博客写的很好:https://blog.csdn.net/w...原创 2019-09-23 16:42:14 · 131 阅读 · 0 评论 -
HDU 1754 I Hate It
单点修改,区间查询,sum的规则有些许改变#include <stdlib.h>#include <cstdio>#include <iostream>#include <queue>#include <stack>#include <string.h>#include <math.h>#in...原创 2019-09-22 11:00:38 · 107 阅读 · 0 评论 -
HDU 1166 敌兵布阵
线段树,单点修改,区间查询#include <stdlib.h>#include <cstdio>#include <iostream>#include <queue>#include <stack>#include <string.h>#include <math.h>#include &l...原创 2019-09-22 10:12:53 · 91 阅读 · 0 评论 -
POJ 2528 Mayor's posters
我所理解的离散化,感觉像是数组下标计数法和排序后再数的差别。数组下标计数法,如果样例为1,1,10000000,那么需要至少a[10000001]的数组,其中a[1]=2,a[10000000]=1,其余都是零如果数字范围很大,而输入又不是很多的时候,这种方法太浪费空间常用方法是,先把输入序列排序,然后再找到相应数字计数 。那么上面的样例就变成了a[0]=1,a[1]=1,a[2]=1...原创 2019-09-22 09:17:35 · 174 阅读 · 0 评论 -
洛谷 P3373 线段树2
洛谷 P3373 线段树2mul和pls更新某区间左右子树sum的时候,别忘了回头更新这个区间的sum只有在传递给子序列之后,父序列的lz标记才能清零。其他时候,lz标记只增不减#include <stdlib.h>#include <cstdio>#include <iostream>#include <queue>#...原创 2019-09-21 10:24:02 · 153 阅读 · 0 评论 -
洛谷 P3372 线段树1
#include <stdlib.h>#include <cstdio>#include <iostream>#include <queue>#include <stack>#include <string.h>#include <math.h>#include <algorithm>...原创 2019-09-16 20:58:36 · 222 阅读 · 0 评论 -
洛谷 P3368 树状数组2
#include <stdlib.h>#include <cstdio>#include <iostream>#include <queue>#include <stack>#include <string.h>#include <math.h>#include <algorithm>...原创 2019-09-15 19:28:27 · 164 阅读 · 0 评论 -
洛谷 P3374 树状数组1
#include <stdlib.h>#include <cstdio>#include <iostream>#include <queue>#include <stack>#include <string.h>#include <math.h>#include <algorithm>...原创 2019-09-15 11:27:57 · 124 阅读 · 0 评论