藍橋杯 ADV 155 演算法提高 上帝造題五分鐘

2021-09-12 07:57:10 字數 1493 閱讀 3019

問題描述

第一分鐘,上帝說:要有題。於是就有了l,y,m,c

第二分鐘,lyc說:要有向量。於是就有了長度為n寫滿隨機整數的向量

第三分鐘,yuhch說:要有查詢。於是就有了q個查詢,查詢向量的一段區間內元素的最小值

第四分鐘,mzc說:要有限。於是就有了資料範圍

第五分鐘,cs說:要有做題的。說完眾神一哄而散,留你來收拾此題

輸入格式

第一行兩個正整數n和q,表示向量長度和查詢個數

接下來一行n個整數,依次對應向量中元素:a[0],a[1],…,a[n-1]

接下來q行,每行兩個正整數lo,hi,表示查詢區間[lo, hi]中的最小值,即min(a[lo],a[lo+1],…,a[hi])。

輸出格式

共q行,依次對應每個查詢的結果,即向量在對應查詢區間中的最小值。

樣例輸入

7 4

1 -1 -4 8 1 2 -7

0 0

1 3

4 5

0 6

樣例輸出

1

-4

1

-7

樣例說明

第乙個查詢[0,0]表示求min=min=1

第二個查詢[1,3]表示求min=min=-4

第三個查詢[4,5]表示求min=min=1

第四個查詢[0,6]表示查詢整個向量,求min=min=-7

資料規模和約定

1<=n<=1984,1<=q<=1988,向量中隨機整數的絕對值不超過1,000

我想的是 動態規劃。

#include #includeusing namespace std;

int i,n,m,j,a[2200],dp[2150][2200];

int main()

}int k,p;

for(i=0;i第二種思路是:純暴力,直接輸入區間後sort。

藍橋杯 ADV 155 演算法提高 上帝造題五分鐘

問題描述 第一分鐘,上帝說 要有題。於是就有了l,y,m,c 第二分鐘,lyc說 要有向量。於是就有了長度為n寫滿隨機整數的向量 第三分鐘,yuhch說 要有查詢。於是就有了q個查詢,查詢向量的一段區間內元素的最小值 第四分鐘,mzc說 要有限。於是就有了資料範圍 第五分鐘,cs說 要有做題的。說完...

藍橋杯 ADV 155 演算法提高 上帝造題五分鐘

演算法提高 上帝造題五分鐘 時間限制 1.0s 記憶體限制 256.0mb 問題描述 第一分鐘,上帝說 要有題。於是就有了l,y,m,c 第二分鐘,lyc說 要有向量。於是就有了長度為n寫滿隨機整數的向量 第三分鐘,yuhch說 要有查詢。於是就有了q個查詢,查詢向量的一段區間內元素的最小值 第四分...

藍橋杯 ADV 131演算法提高 選擇排序

問題描述 排序,顧名思義,是將若干個元素按其大小關係排出乙個順序。形式化描述如下 有n個元素a 1 a 2 a n 從小到大排序就是將它們排成乙個新順序a i 1 i k 為這個新順序。選擇排序的思想極其簡單,每一步都把乙個最小元素放到前面,如果有多個相等的最小元素,選擇排位較考前的放到當前頭部。還...