数据结构
云北海
风雨中抱紧自由
展开
-
树状数组例题——Stars、Ultra-QuickSort 、cows
A - Stars天文学家经常研究星形图,其中恒星由平面上的点表示,每颗恒星都有笛卡尔坐标。让恒星的水平为不高于恒星并且不在给定恒星右侧的恒星数量。天文学家想知道恒星水平的分布。例如,查看上图中显示的地图。星号5的等级等于3(它由三颗恒星形成,数字为1,2和4)。并通过2和4号星星的级别是1,这地图上有水平0的只有一个明星,1级的两颗星,2级的一个明星,而3级的一星你是编写一个...原创 2019-02-27 20:16:54 · 444 阅读 · 0 评论 -
【单调栈】 扶桑号战列舰
问题 N: 扶桑号战列舰时间限制:1 Sec内存限制:128 MBSpecial Judge提交:330解决:129[提交] [状态] [命题人:admin]题目描述众所周知,一战过后,在世界列强建造超无畏级战列舰的竞争之中,旧日本海军根据“个舰优越主义”,建造了扶桑级战列舰,完工时为当时世界上武装最为强大的舰只。同时,扶桑号战列舰也是舰岛最为科幻的战列舰。...原创 2019-08-07 15:51:40 · 359 阅读 · 0 评论 -
【单调栈】区区区间间间
链接:https://ac.nowcoder.com/acm/problem/20806来源:牛客网题目描述给出长度为n的序列a,其中第i个元素为ai,定义区间(l,r)的价值为v l,r=max(ai−aj|l⩽i,j⩽r)请你计算出∑n l=1 ∑n r=l+1vl,r∑l=1n∑r=l+1nvl,r输入描述:第一行输入数据组数T对于每组数据,第一行为...原创 2019-07-24 21:12:34 · 672 阅读 · 1 评论 -
【线段树】Number theory
D - Number theory给定整数x = 1,您必须应用Q(Q≤100000)运算:乘,除。输入输入文件的第一行包含一个整数T(0 <T≤10),表示有多少输入情况。每种情况的描述如下:第一行包含两个整数Q和M.下一个Q行包含第i行后面的操作:我这样做:x = x * do。N di:x = x / ydi。确保di不同。这意味着你可以在yi出现...原创 2019-04-26 21:02:02 · 389 阅读 · 0 评论 -
【单调队列学习】+合并果子
(这是一种思想,我觉得这很重要,思想的作用 有时候 比算法强大太多) 当我们解决问题的时候发现有许多冗杂无用的状态时,我们可以采用单调思想,用单调队列或类似于单调队列的方法去除冗杂状态,保存我们想要的状态首先是队列: 不同于栈的先进后出,队列是先进先出 当然这很简单,就当占个位置,提醒一下自己...原创 2019-04-11 23:43:00 · 1197 阅读 · 3 评论 -
单调栈学习+例题:小c的数学问题
单调栈: 字面意思就是一个结构栈其中的元素是单调的(严格递增或递减) 对于一个新元素的加入,会把栈顶所有破坏单调性的元素给“弹走”,例如:【7,5,3,新加入一个元素5,会把原栈中的5,3“弹走”,这时形成新的栈为【7,5用途:最基础的应用就是给定一组数,针对每个数,寻找它和它右边第一个比它大的数之间有多少个数。 给定一序列,寻找某...原创 2019-04-08 17:51:25 · 1228 阅读 · 0 评论 -
(差分思想学习!!)题解:Master of GCD (树状数组差分思想+快速幂)
差分思想摘录博客:https://www.cnblogs.com/COLIN-LIGHTNING/p/8436624.html差分数组介绍: 数组f[5]={1,6,3,5,7},他的差分数组就是d[5]={1,5,-3,2,2}; 即d[i]=f[i]-f[i-1] (f[0]=0),f[i]=d[i]+d[i-1]+···+d[1];差分数组定义: ...原创 2019-04-10 21:37:00 · 216 阅读 · 0 评论 -
C/C++ STL set , map , vector 基础应用
首先是对STL的介绍 STL是Standard Template Library的简称,中文名标准模板库 在C++标准中,STL被组织为下面的13个头文件:<algorithm>、<deque>、<functional>、<iterator>、<array>、<vector>、&l...原创 2019-03-21 20:47:43 · 114 阅读 · 0 评论 -
【字典树】+例题——异或最大值 、统计难题 、Xor Sum
字典树 又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。 它有3个基本性质:根节点不包含字符,除根节点外每一个节点都只包含一个...原创 2019-03-02 18:53:46 · 974 阅读 · 0 评论 -
并查集——畅通工程
一:什么并查集1:并查集是一个集合;2:这个集合可以合并、查找;3:并查集是一种树型的数据结构如下图:二:并查集的特征1:每个树都是一个集合2:用集合中某个元素代表整个集合,该元素成为集合的代表元;3:1个集合中所有元素组成以代表元为根的树型结构三:并查集的实现1:int pre[N]; 初始化pre[i]=i;2:int Find(int x) 查找3:void m...原创 2019-01-23 22:32:13 · 158 阅读 · 0 评论 -
线段树
该文章参考大佬博客:https://www.cnblogs.com/TheRoadToTheGold/p/6254255.html线段树1:线段树,它在各个节点保存一条线段(数组中的一段子数组),主要用于高效解决连续区间的动态查询问题,由于二叉结构的特性,它基本能保持每个操作的复杂度为 O(logn)。2: 线段树的每个节点表示一个区间,子节点则分别表示父节点的左右半区间,例如父亲的区间是[...转载 2019-02-18 09:51:59 · 137 阅读 · 0 评论 -
小Z的袜子——莫队
莫队算法 莫队算法首先将整个序列分成√n个块(同样,只是概念上分的块,实际上我们并不需要严格存储块),接着将每个询问按照块序号排序(一样则按照右端点排序)。之后,我们从排序后第一个询问开始,逐个计算答案。莫队算法(mo's algorithm)一般分为两类,一是莫队维护区间答案,二是维护区间内的数据结构。当然也有树上莫队,带修改莫队、二维莫队等等。这篇文章主要介绍的是普通莫队算法...原创 2019-02-24 21:22:05 · 155 阅读 · 0 评论 -
【单调栈】 All-one Matrices
牛客题目链接https://ac.nowcoder.com/acm/contest/888/AAll-one MatricesGromah and LZR entered the great tomb, the first thing they see is a matrix of sizen\times mn×m, and the elements in the matrix...原创 2019-08-12 19:48:00 · 130 阅读 · 0 评论