洛谷 P1440 求m区间内的最小值
来源:互联网 发布:ai mac中文版免费下载 编辑:程序博客网 时间:2024/06/06 17:44
题目描述
一个含有n项的数列(n<=2000000),求出每一项前的m个数到它这个区间内的最小值。若前面的数不足m项则从第1个数开始,若前面没有数则输出0。
输入输出格式
输入格式:
第一行两个数n,m。
第二行,n个正整数,为所给定的数列。
输出格式:
n行,第i行的一个数ai,为所求序列中第i个数前m个数的最小值。
输入输出样例
输入样例#1:
6 2
7 8 1 4 3 2
输出样例#1:
0
7
7
1
1
3
说明
【数据规模】
m≤n≤2000000
【分析】
大晚上水两道题睡觉了…
对于这道题,维护一个单调递增的队列,每次取队头元素即可…
【代码】
//洛谷 P1440 求m区间内的最小值#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#define fo(i,j,k) for(i=j;i<=k;i++)using namespace std;int n,m;int q[2000001],a[2000001],s[2000001];int main(){ int i,j,k; scanf("%d%d",&n,&m); for(i=1;i<=n;i++) scanf("%d",&a[i]); printf("0\n"); int h=1,t=0; for(i=1;i<n;i++) { while(h<=t && a[q[t]]>=a[i]) t--; t++; q[t]=i; while(q[t]-q[h]+1>m) h++; printf("%d\n",a[q[h]]); } return 0;}
1 0
- 洛谷 P1440 求m区间内的最小值
- 洛谷 P1440 求m区间内的最小值
- 洛谷P1440 求m区间内的最小值
- 洛谷 P1440 求m区间内的最小值
- 【luogu P1440】求(DQ)M区间内的最小值
- 优先队列——洛谷P1440 求m区间内的最小值
- 【洛谷】P1440 求区间最小值
- 洛谷1440 求m区间内的最小值
- 【数据结构】[luoguP1440]求m区间内的最小值
- Oracle求连续区间内的最大最小值
- 求 区间[a,b]内满足p^k*q*^m(k>m)的数的个数
- CF Mike and Feet (求连续区间内长度为i的最小值)单调栈
- POJ 3264(线段树求区间内最大值和最小值)
- 求区间内的素数
- hdu 5289 Assignment(给一个数组,求有多少个区间,满足区间内的最大值和最小值之差小于k)
- poj 2823 线段树 求固定区间的最大最小值
- 线段树求区间最大值与最小值的差
- 求一段区间内素数的个数
- MySQL不支持FULL JOIN, INTERSECT和MINUS(except)的替代方法
- 专题总结:数据结构总结【转】
- aaaaaaaaa
- python--list中append()与extend()用法
- KinectSDK + Unity3D学习总结
- 洛谷 P1440 求m区间内的最小值
- STL学习笔记之next_permutation(下一个排列)
- 110.Minimum Path Sum-最小路径和(容易题)
- JS实现面板拖动及兼容性处理方法
- Spring -- HelloWorld
- USB、UART、SPI、I2C、Ethernet、SD、SATA、PCI、 XGMII/XLGMII/CGMII总线的传输速度
- Java Mysql Emoji 配置
- 【OVS2.5.0源码分析】datapath之action分析(7)
- javac编译 编码GBK的不可映射字符