离散化
@Freey
这个作者很懒,什么都没留下…
展开
-
单调栈模板
问题描述 长方形 小明今天突发奇想,想从一张用过的纸中剪出一个长方形。 为了简化问题,小明做出如下规定: (1)这张纸的长宽分别为 n,mn,m。小明讲这张纸看成是由n\times mn×m个格子组成,在剪的时候,只能沿着格子的边缘剪。 (2)这张纸有些地方小明以前在上面画过,剪出来的长方形不能含有以前画过的地方。 (3)剪出来的长方形的大小没有限制。 小明看着这张纸,想了好多种剪的方法,可是到底有几种呢?小明数不过来,你能帮帮他吗? 思路 单调栈适合解决在一个连续区间内找左边和右边第一个比它小/大的元素,原创 2021-08-18 17:15:38 · 174 阅读 · 0 评论 -
浮点数二分答案+单调队列维护定长区间最值
问题描述 一个含有 nn 项的数列,求出每一项前的 mm 个数到它这个区间内的最小值。若前面的数不足 mm 项则从第 11 个数开始,若前面没有数则输出 00。P1440 求m区间内的最小值 代码 #include <iostream> #define maxn 100010 using namespace std; int n,s,t; double l,r,mid,ans,a[maxn],b[maxn],sum[maxn]; // sum[i]-min(sum[i-t]~sum[i-s])&原创 2021-08-14 17:41:46 · 116 阅读 · 0 评论