lightoj-1082 - Array Queries
Posted FireCool
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lightoj-1082 - Array Queries相关的知识,希望对你有一定的参考价值。
1082 - Array Queries
PDF (English) Statistics Forum
Time Limit: 3 second(s) Memory Limit: 64 MB
Given an array with N elements, indexed from 1 to N. Now you will be given some queries in the form I J, your task is to find the minimum value from index I to J.
Input
Input starts with an integer T (≤ 5), denoting the number of test cases.
The first line of a case is a blank line. The next line contains two integers N (1 ≤ N ≤ 105), q (1 ≤ q ≤ 50000). The next line contains N space separated integers forming the array. There integers range in [0, 105].
The next q lines will contain a query which is in the form I J (1 ≤ I ≤ J ≤ N).
Output
For each test case, print the case number in a single line. Then for each query you have to print a line containing the minimum value between index I and J.
Sample Input
Output for Sample Input
2
5 3
78 1 22 12 3
1 2
3 5
4 4
1 1
10
1 1
Case 1:
1
3
12
Case 2:
10
思路: 可用线段树, 但用分块来求,容易写,也不容易出现错误。
#include<iostream> #include<cstdio> #include<algorithm> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; const int N = 100100,inf = 1000000; int a[N]; int size[N/2]; int main(){ int T,n,q,under1,under2,m,uu1,uu2,minn; scanf("%d",&T); for(int t=1;t<=T;t++){ memset(size,10,sizeof(size)); scanf("%d%d",&n,&q); m = sqrt(n); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); size[(int)i/m] = min(size[(int)i/m],a[i]); } printf("Case %d:\\n",t); for(int i=0;i<q;i++){ scanf("%d%d",&under1,&under2); uu1 = (int)under1/m; uu2 = (int)under2/m; minn = inf; for(int j = under1;j<=min((uu1+1)*m-1,under2);j++){ minn = min(minn,a[j]); } for(int j = uu1+1;j<uu2;j++){ minn = min(minn,size[j]); } if(uu1!=uu2){ for(int j=uu2*m;j<=under2;j++) minn = min(minn,a[j]); } printf("%d\\n",minn); } } return 0; }
以上是关于lightoj-1082 - Array Queries的主要内容,如果未能解决你的问题,请参考以下文章
csharp Crear grid sin quer en Json formas
java.sql.SQLException:目标:commerce.0.primary:vttablet:rpc 错误:代码 = InvalidArgument desc = 未知系统变量 'quer