随笔分类 -  单调栈

摘要:N个整数组成的数组,定义子数组a[i]..a[j]的宽度为:max(a[i]..a[j]) - min(a[i]..a[j]),求所有子数组的宽度和。 N个整数组成的数组,定义子数组a[i]..a[j]的宽度为:max(a[i]..a[j]) - min(a[i]..a[j]),求所有子数组的宽度和 阅读全文
posted @ 2017-10-28 19:37 友人Aqwq 阅读(155) 评论(0) 推荐(0)
摘要:N个整数组成的序列a[1],a[2],a[3],…,a[n],你可以对数组中的一对元素进行交换,并且交换后求a[1]至a[n]的最大子段和,所能得到的结果是所有交换中最大的。当所给的整数均为负数时和为0。 例如:{-2,11,-4,13,-5,-2, 4}将 -4 和 4 交换,{-2,11,4,1 阅读全文
posted @ 2017-08-28 19:16 友人Aqwq 阅读(298) 评论(1) 推荐(0)
摘要:把单调栈的题目总结在一起吧QAQ——记得加上这个分组的上一篇(第一篇 bzoj 1657: [Usaco2006 Mar]Mooo 奶牛的歌声 #include<cstdio> #include<cstring> #include<algorithm> #include<queue> using n 阅读全文
posted @ 2017-08-23 11:19 友人Aqwq 阅读(272) 评论(0) 推荐(0)
摘要:单调栈求每个数在哪些区间是最值的经典操作。 poj的话直接求区间和*区间min就好了 #include<cstdio> #include<cstring> #include<algorithm> #define LL long long using namespace std; const int 阅读全文
posted @ 2017-08-17 13:57 友人Aqwq 阅读(240) 评论(0) 推荐(0)