摘要: 同ural1517链接:http://www.cnblogs.com/ziyi--caolu/p/3151622.html#include#include#includeusing namespace std;#define min(x,y) x>y? y:x#define maxn 200010int dp[maxn][33];int wa[maxn],wb[maxn],wsf[maxn],wv[maxn],sa[maxn];int rank[maxn],height[maxn],s[maxn];char str[maxn],str1[maxn];int cmp(int *r,int 阅读全文
posted @ 2013-06-23 21:57 紫忆 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 题意:求两串字符(0————255)的最长公共字串思路:先将两个字符链接起来,中间用一个不曾出现过的字符,然后直接求出height数组,然后根据它的特性,求出最长的公共字串,当然这个最长公共字串的坐标要符合一个在第一个串中,另一个在另一串中....这个好处理,直接根据sa数组特性,sa[i-1],sa[i]........可知#include#include#includeusing namespace std;#define min(x,y) x>y? y:x#define maxn 300010int dp[maxn][33];int wa[maxn],wb[maxn],wsf[ma 阅读全文
posted @ 2013-06-23 21:53 紫忆 阅读(573) 评论(0) 推荐(0) 编辑
摘要: 有n只羊,(姑且算是羊吧,也有可能是牛啊猫啊什么之类的),每只羊都有一个身高,前面的羊要看到后面的羊的条件是,后面的羊高度要小于前面的羊,就问各位羊加起来看到的牛多少只.......#include#include#includeusing namespace std;int main(){ int n; while(scanf("%d",&n)>0) { stackQ; __int64 num,sum=0; scanf("%I64d",&num); Q.push(num); for(int i=1;i<n;i++) { sc 阅读全文
posted @ 2013-06-23 21:31 紫忆 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 题意:给出连续的矩形的高....求最大面积#include#include#includeusing namespace std;struct node{ __int64 num,pre,next;};int main(){ int n; while(scanf("%d",&n)>0&&n) { stackQ; node tmp; __int64 ans=0,sum=0,num; scanf("%I64d",&tmp.num); tmp.pre=1; tmp.next=1; Q.push(tmp); for(int 阅读全文
posted @ 2013-06-23 21:11 紫忆 阅读(727) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一段区间,需要你求出(在这段区间之类的最小值*这段区间所有元素之和)的最大值......例如:63 1 6 4 5 2以4为最小值,向左右延伸,6 4 5 值为60.......思路:解决完为这道题目,我才真正明白了单调栈的原理,它就是以某一个值为最小(最大)值,向这个值的两侧延伸,遇到大于它(小于它)的值,就将它延伸的范围扩大,当然,一般来说,要这样做的算法复杂度为o(n^2),但是借助栈这个玩意,维护其单调增(减),就可以在o(n)的时间复杂度解决这个问题。将一元素加入栈时,先判断它是否大于(小于)栈顶元素,若是大于(小于)栈顶元素,加入栈。(从这里开始只讲维护单调增栈)否则,将 阅读全文
posted @ 2013-06-23 21:04 紫忆 阅读(8907) 评论(3) 推荐(5) 编辑
摘要: 本来实在做后缀数组的题目的,不巧,碰到了pku3415这题,需要用到单调栈来维护,但是之前又没有学习过单调栈这方面的知识,于是水了几题.......题意:给你一些连续的小矩形,高宽不定,求最大的矩形面积........思路:直接用单调栈,当有一个矩形的高小于等于栈顶元素的高时,出栈,并维护这个即将入栈的元素的向前延伸的宽度范围,维护出栈后的栈顶元素向后延伸的宽度范围.......#include#include#includeusing namespace std;struct node{ __int64 h,pre,next,w;};int main(){ int n; while(scan 阅读全文
posted @ 2013-06-23 20:17 紫忆 阅读(1171) 评论(0) 推荐(0) 编辑