
单调队列/栈
WayJasy
叁肆伍叁,伍肆伍物
展开
-
2019牛客暑期多校训练营(第一场) A Equivalent Prefixes (单调队列)
题目题意:找到最大的点PPP,使得两个数组 aaa 和 bbb 在区间[1,P][1,P][1,P]的任意子区间中的最小值下标相同题解:对两个数组分别维护单调递增的单调队列。 每次插入后判断队列中的元素个数是否相同,不相同直接返回答案。这样做保证了两个数组对应区间单调性相同,子区间个数也相同。#include<bits/stdc++.h>using namespace std...原创 2019-07-18 19:45:30 · 88 阅读 · 0 评论 -
CodeForce 91B (单调队列+二分)
题意:nnn个数,求出a[i]a[i]a[i]后面最后一个小于a[i]a[i]a[i]的数与a[i]a[i]a[i]间的距离,如果没有小于a[i]a[i]a[i]的数则输出-1-1-1题解:从后往前遍历数组,单调队列维护一个递减的序列,每次判断将要插入的数与队尾的数的大小关系。如果当前插入的数不能保持队列的单调性则二分求答案,如果能保持,就说明这个数小于队列里的最小值,直接输出-1#incl...原创 2019-07-17 14:03:58 · 335 阅读 · 0 评论