队列
1
哆啦c梦~~
嵌入式开发小白
展开
-
AcWing 135. 最大子序和
题目描述 输入一个长度为n的整数序列,从中找出一段长度不超过m的连续子序列,使得子序列中所有数的和最大。 注意: 子序列的长度至少是1。 输入格式 第一行输入两个整数n,m。 第二行输入n个数,代表长度为n的整数序列。 同一行数之间用空格隔开。 输出格式 输出一个整数,代表该序列的最大子序和。 数据范围 1≤n,m≤300000 输入样例: 6 4 1 -3 5 1 -2 3 输出样例: 7 题解 求某一段序列和,用前缀和来做。 维护一段长为m的队列,问题转化为从队列找到最小值。 单调队列优化:由题原创 2020-10-21 16:53:07 · 194 阅读 · 0 评论 -
AcWing134. 双端队列
题目描述 达达现在碰到了一个棘手的问题,有N个整数需要排序。 达达手头能用的工具就是若干个双端队列。 她从1到N需要依次处理这N个数,对于每个数,达达能做以下两件事: 1.新建一个双端队列,并将当前数作为这个队列中的唯一的数; 2.将当前数放入已有的队列的头之前或者尾之后。 对所有的数处理完成之后,达达将这些队列按一定的顺序连接起来后就可以得到一个非降的序列。 请你求出最少需要多少个双端序列。 输入格式 第一行输入整数N,代表整数的个数。 接下来N行,每行包括一个整数Di,代表所需处理的整数。 输出格式原创 2020-10-20 21:46:47 · 184 阅读 · 0 评论