随笔分类 - 单调栈
摘要: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]),求所有子数组的宽度和
阅读全文
摘要: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
阅读全文
摘要:把单调栈的题目总结在一起吧QAQ——记得加上这个分组的上一篇(第一篇 bzoj 1657: [Usaco2006 Mar]Mooo 奶牛的歌声 #include<cstdio> #include<cstring> #include<algorithm> #include<queue> using n
阅读全文
摘要:单调栈求每个数在哪些区间是最值的经典操作。 poj的话直接求区间和*区间min就好了 #include<cstdio> #include<cstring> #include<algorithm> #define LL long long using namespace std; const int
阅读全文