![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 85
函兹
。
展开
-
2021_GDUT_Data Structure
栈描述:栈是一种“后入先出”的数据结构。支持操作:入栈(push),出栈(pop);单调栈:借助单调性处理问题,即使排除不可能的选项;单调栈的应用: 对于可以转化某一元素为找到其右边第一个大于(小于等于)的元素的题目,可以利用单调栈的单调性优化求解.例题讲解:在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。原创 2021-03-04 11:11:44 · 148 阅读 · 0 评论 -
树状数组~序列前缀和的维护
树状数组c[x]存储某一数组b的元素在区间[x-lowbit(x),x]的统计.前缀和维护原理对于正整数x,其二进制表示可写为∑i=1n2a[i]的形式,若数组a递减排序,对于正整数x,其二进制表示可写为\sum_{i=1}^{n} 2^{a[i]} 的形式,若数组a递减排序,对于正整数x,其二进制表示可写为i=1∑n2a[i]的形式,若数组a递减排序,则有x−lowbit(x)=∑i=1n−12a[i],此时划定区间[∑i=1n−12a[i]+1,∑i=1n2a[i]],则有x-lowb.原创 2021-02-11 10:06:16 · 304 阅读 · 0 评论 -
借助单调性处理问题~单调栈(学习笔记)
单调栈: 内部元素的排列按照大小关系满足一定单调性的栈.单调栈的性质:栈内某一个元素的左边所有元素与其满足同一大小关系,右边所有元素与其满足另一种相反的大小关系.例如: 元素1 2 3 4 5中,3的左边为1,2均小于3,右边为4,5均大于等于3.单调栈的应用对于可以转化某一元素为找到其右边第一个大于(小于等于)的元素的题目,可以利用单调栈的单调性优化求解.比如说题目可以构造为某一元素找到右边第一个小于等于其的问题,那么可以构造一个严格单调递增的栈,当数组元素大于栈顶时,入栈,否则将栈顶元素出.原创 2021-02-10 16:40:15 · 119 阅读 · 0 评论