语法进阶期中考试最小值题解

XJOI-9171 最小值 题解

代码和题目详情在阅读注意须知下面,烦请你翻一下la~

阅读注意须知

1. 阅读本贴是在考完语法进阶期中考试的前提下才能看,杜绝抄袭

2. 为保持论坛及本贴的良好环境,请勿水贴!(我是一个不好的例子)

3. 如有本贴的不足 , 请在评论区指出,我是一个蒟蒻。 欢迎各位dalao指导!

4. 作者不提倡抄袭AC代码

5. 本贴纯经验分享,不喜勿喷

6. 本题是来源于 https://www.xinyoudui.com/ac/contest/747000EB600032901C8227/problem/6766

若侵犯到了您的权益 请联系作者删除

题目详情

13. 最小值

XJOI - 题目ID:9171必做题100分

最新提交:

Accepted

100 分

历史最高:

Accepted

100 分

时间限制: 1000ms

空间限制: 256000kB

题目描述

时间:1 空间:256M

题目描述:

给出一个n个数的数列$𝑎1,𝑎2,…,𝑎𝑛a1​,a2​,…,an​$,有Q个询问。每次问你区间$𝑎𝑙,𝑎𝑙+1,𝑎𝑙+2,…,𝑎𝑟al​,al+1​,al+2​,…,ar​$中的最小值是多少?

输入格式:

第一行两个整数n和Q。

第二行n个整数。

接下来Q行每行2个整数l和r。

输出格式:

共Q行,每行一个整数。

样例输入:

3 2
1 2 3
2 3
1 3

样例输出:

2
1

约定:

所有数不超过1000。

直接上代码(While 循环法)

13. 最小值

XJOI - 题目ID:9171

时间限制: 1000ms

空间限制: 256000kB

必做题100分

#include <iostream>
using namespace std;
int arr[1005];
int n,q;
int main()
{
     cin>>a>>b;
     for(int i=1;i<=a;i++){
    cin>>arr[i];
 }
  while(q--){
    int l,r,mi=1e9;
    cin>>l>>r;
    for(int i=l;i<=r;i++){
      if(arr[i]<mi){
        mi=arr[i];
      }
    }
    cout<<mi<<endl;
  }
  return 0;
}

4 个赞

Minecraft好评

5 个赞

++like++

4 个赞

有个东西叫做dp,

6 个赞

听说提高又一种东西,可以用O(max(n,q))的做法
特别神奇 :index_pointing_at_the_viewer: :index_pointing_at_the_viewer:
但你非常good :smiley:

6 个赞

动态规划是吗 :smiley:

3 个赞

不是

4 个赞

我不会

4 个赞

知道了大佬

找到介绍贴了时间复杂度和空间复杂度_o(max)-CSDN博客

3 个赞

你这个复杂度O(n,q),但也能过了

5 个赞

你说的对,但题解=题目解析,你就只给代码吗?

5 个赞