题目背景

题目描述

为了检测生产流水线上总共N件产品的质量,我们首先给每一件产品打一个分数A表示其品质,然后统计前M件产品中质量最差的产品的分值Q[m] = min{A1, A2, ... Am},以及第2至第M + 1件的Q[m + 1], Q[m + 2] ... 最后统计第N - M + 1至第N件的Q[n]。根据Q再做进一步评估。

请你尽快求出Q序列。

输入输出格式

输入格式:

输入共两行。

第一行共两个数N、M,由空格隔开。含义如前述。

第二行共N个数,表示N件产品的质量。

输出格式:

输出共N - M + 1行。

第1至N - M + 1行每行一个数,第i行的数Q[i + M - 1]。含义如前述。

输入输出样例

输入样例#1:

10 4
16 5 6 9 5 13 14 20 8 12
输出样例#1:

5
5
5
5
5
8
8

说明

[数据范围]

30%的数据,N <= 1000

100%的数据,N <= 100000

100%的数据,M <= N, A <= 1 000 000

果ST表

语文不好是硬伤,读题读好久

屠龙宝刀点击就送

#include <cstdio>
#include <cmath>
#define N 100005 int n,m,a[N],minv[N][];
inline int min(int a,int b) {return a>b?b:a;}
void rmq_init()
{
for(int i=;i<=n;++i) minv[i][]=a[i];
int logn=(int)(log((double)n)/log(2.0));
for(int j=;j<=;++j)
{
for(int i=;i<=n;++i)
if(i+(<<j)-<=n) minv[i][j]=min(minv[i][j-],minv[i+(<<(j-))][j-]);
}
}
inline int rmq(int l,int r)
{
int logn=(int)(log((double)(r-l+))/log(2.0));
return min(minv[l][logn],minv[r-(<<logn)+][logn]);
}
int main(int argc,char *argv[])
{
scanf("%d%d",&n,&m);
for(int i=;i<=n;++i)
scanf("%d",&a[i]);
rmq_init();
for(int i=;i<=n-m+;++i) printf("%d\n",rmq(i,i+m-));
return ;
}

洛谷 P2251 质量检测的更多相关文章

  1. 洛谷 P2251 质量检测 题解

    P2251 质量检测 题目背景 无 题目描述 为了检测生产流水线上总共N件产品的质量,我们首先给每一件产品打一个分数A表示其品质,然后统计前M件产品中质量最差的产品的分值Q[m] = min{A1, ...

  2. 洛谷 P2251 质量检测(st表)

    P2251 质量检测 题目提供者ws_ly 标签 难度 普及/提高- 题目描述 为了检测生产流水线上总共N件产品的质量,我们首先给每一件产品打一个分数A表示其品质,然后统计前M件产品中质量最差的产品的 ...

  3. 洛谷—— P2251 质量检测

    https://www.luogu.org/problemnew/show/P2251 题目背景 无 题目描述 为了检测生产流水线上总共N件产品的质量,我们首先给每一件产品打一个分数A表示其品质,然后 ...

  4. 洛谷P2251 质量检测

    题目背景 无 题目描述 为了检测生产流水线上总共N件产品的质量,我们首先给每一件产品打一个分数A表示其品质,然后统计前M件产品中质量最差的产品的分值Q[m] = min{A1, A2, ... Am} ...

  5. P2251 质量检测(ST表)

    P2251 质量检测 题目描述 为了检测生产流水线上总共N件产品的质量,我们首先给每一件产品打一个分数A表示其品质,然后统计前M件产品中质量最差的产品的分值Q[m] = min{A1, A2, ... ...

  6. P2251 质量检测--洛谷luogu

    传送门 题目描述 为了检测生产流水线上总共N件产品的质量,我们首先给每一件产品打一个分数A表示其品质,然后统计前M件产品中质量最差的产品的分值Q[m] = min{A1, A2, ... Am},以及 ...

  7. 洛谷P2251 【质量检测】

    无意中刷st表题看到的题目(抄模板),一看到题目,,,没想用st表,直接莫队?????跑起来也不是特别慢... 这里用flag数组记录出现次数,set维护最小值,用的时候直接取头部. 代码也很短 #i ...

  8. [LUOGU] P2251 质量检测

    题目背景 无 题目描述 为了检测生产流水线上总共N件产品的质量,我们首先给每一件产品打一个分数A表示其品质,然后统计前M件产品中质量最差的产品的分值Q[m] = min{A1, A2, ... Am} ...

  9. 【luogu P2251 质量检测】 题解

    也是一道ST表的板子题,很裸的RMQ问题,只需要在查询区间时处理一下下就好啦~ #include <cstdio> #include <algorithm> using nam ...

随机推荐

  1. eclipse gradle 找不到依赖解决办法

    右击工程,选择gradle  在点击Refresh Gradle Project 即可,..不得不说,gradle 在eclipse 下真没maven 好用.....

  2. 【ABP开发】:asp.net core 中使用mysql

    EntityFrameworkCore项目--Nuget包管理,卸载包: Microsoft.EntityFrameworkCore.SqlServer: EntityFrameworkCore项目和 ...

  3. C#中web项目使用log4net日志

    我准备把log4net的实现方法放在一个类库项目中,别的项目直接引用该类库,即可进行日志的记录,操作步骤如下: 1.下载log4net.dll文件 2.在解决方案下创建类库项目 3.把log4net. ...

  4. Report Server运行后一直处于加载状态

    描述:对Report server做了一个小练习,算是入门,但发现运行起来后,页面一直处于加载状态,不知为何? 解决:查了一下网上的资料,解决的方法是 protected void Page_Load ...

  5. 江西财经大学第一届程序设计竞赛 D

    链接:https://www.nowcoder.com/acm/contest/115/D来源:牛客网 题目描述 事情,是这样的. 有这么一天双休日的中午. 我刚把我衣服扔进了洗衣机,然后拿了个小板凳 ...

  6. drozer与adb工具的安装与使用

    drozer:链接: https://pan.baidu.com/s/1skTJdgh 密码: wah1 adb:链接: https://pan.baidu.com/s/1gfpIkuv 密码: n8 ...

  7. python 函数调用

    ##########定义函数######### 如果不主动调用函数,函数是不会执行的 def say_hello():     print 'hello1'     print 'hello2'    ...

  8. bean copy

    最初采用apache beanutils,性能很低.后来转为hutool,但不能复制指定格式的日期,所以采用性能很高的com.github.yangtu222.BeanUtils 它已经实现了 cop ...

  9. java后台获取服务器相对路径,获取当前时间yyyyMMddHHmmssSSS

    SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmssSSS"); Date date = new Date( ...

  10. C++常用数据结构(对照python)

    python: c++17: get set extend/update find index size loop list std::vector v[0]; v.emplace_back(&quo ...