数据结构
hahahaer~
这世界上真的有人在过着你想要的生活,也必曾走过你所未经历的苦难。
展开
-
Forsaken的三维数点(树状数组+二分)
题目: 大二上----周训(一)B 树状数组+二分 ACcode(用cin,cout会T) #include <stdio.h> #include <iostream> #include <math.h> using namespace std; const int maxn=2e5+5; int c[maxn]={0};//最大值为sqrt(1e...原创 2019-11-12 21:39:18 · 219 阅读 · 0 评论 -
线段树定义理解与模板
超级开心,今天的屁屁踢有详细注释!(虽然这仍然弥补不了我抄错模板的事实。。。) 今天七夕,虽然我不过节,但是让我应景的来一句土味情话(对每一个我A出来的题):我能想到最浪漫的事,就是看着你由wa到T,再T又T还T,TTTTTTT,最终成为那抹绿色靓丽的AC(撒花~~~) 废话不再说,附上具有详细注释的带有我个人理解的模板代码! 建树模板 void build(int rt,int...原创 2019-08-07 17:32:52 · 132 阅读 · 0 评论 -
ST表理解与模板
用途:st表用来解决区间最值查询(RMQ)的离线算法,分为离线预处理和在线查询 st[i][j]数组中贮存的是对于原始数组a从下标为i的数字开始,区间长度为2j区间内的max/min值。即i~2j-1的最值 预处理: 初始化 令st[i][0]=a[i]; 双重for循环进行遍历,st[i][1] = st[i][0]+st[i+1][0]; st[i][2] = st[i][1]...原创 2019-08-16 13:03:08 · 161 阅读 · 4 评论 -
树状数组 POJ1990 MOOFEST
来补一补数据结构的题,当时这道题完全不懂,连题意都理解了半天,今天又花了两个小时,终于搞懂啦!感觉不懂这道题的时候怎么看人家的博客都感觉难以理解,弄懂了之后,看到每篇博客都感觉明明白白~~~ 题目链接 题目大意: 第一行给出牛的个数n,接下来有n行,分别代表着这n头牛的音量承受值和位置,这些牛直线排列,每两头牛之间都要对话,每一对牛耗费的音量都为:这一对牛中的最大音量承受值*这两头牛之间...原创 2019-08-16 16:12:26 · 132 阅读 · 1 评论 -
POJ 2481 Cows(树状数组)
题目传送门 题意:输入n组数据,每组数据由n行样例组成,分别代表每头牛食草的左区间和右区间,如果牛A的食草区域是牛B的真子集,则说明牛B比牛Astrong,结果输出比该牛strong的牛的头数 思路:将牛的右区间按照从大到小排序,比较每头牛前面有几头牛的左区间小于该牛,得到的结果就是比该牛strong的牛的头数(与之前那道star题类似,都是先固定一个变量的顺序,然后比较另一个变量)...原创 2019-08-29 15:36:39 · 131 阅读 · 0 评论 -
POJ 2777(线段树)
题目链接 题意:输入n组数据,每一组第一行有三个数,分别为L(木板的长度),T(颜色的种类),O(操作的步数,即接下来的行数)。 开始木板颜色全为1,接下来进行操作。每一行第一个字母如果为‘C’,接下来三个数a,b,c分别表示将a到b涂成颜色c;如果字母为‘P’,接下来两个数a,b分别表示询问从a到b共有多少种颜色。 思路:用一个二进制数来表示颜色,如果该点有颜色a,二进制的第a位...原创 2019-08-30 16:57:39 · 255 阅读 · 0 评论