loj 10120 最敏捷的機械人

2021-08-28 13:25:46 字數 998 閱讀 3311

題目描述

wind 設計了很多機械人。但是它們都認為自己是最強的,於是,一場比賽開始了……

機器人們都想知道誰是最敏捷的,於是它們進行了如下乙個比賽。首先,他們面前會有一排共 n 個數,它們比賽看誰能最先把每連續 k 個數中最大和最小值寫下來,當然,這些機械人運算速度都很快,它們比賽的是誰寫得快。

但是 wind 也想知道答案,你能幫助他嗎?

輸入格式

第一行為 n,k,意義如題目描述。

第二行共 n 個數,為數字序列,所有數字均在pascallongint範圍內,即所有數均為整數,且在 [−2^31,2^31−1] 範圍內。

輸出格式

共 n−k+1 行,第 i 行為第 i 至第 i+k−1這 k個數中的最大和最小值。

樣例樣例輸入

5 3

1 2 3 4 5

樣例輸出

3 1

4 25 3

資料範圍與提示

對於全部資料,1≤k≤n≤10^5

在普通rmq的基礎上再加乙個存最小值的陣列就行了

(其實跟模板題沒什麼區別,但是為了水部落格,我還是決定再發一遍)

#include#include#include#includeusing namespace std;

const int n = 1e6 + 3;

int logg[n],f[n][20],s[n][20],a[n];

int n,k;

int main()

logg[0] = -1;

for(int i = 1;i <= n;i++)

for(int i = 1;i <= 21;i++)

}int q = logg[k];

for(int i = 1;i <= n - k + 1;i++)

return 0;

}

最敏捷的機械人

題目描述 wind 設計了很多機械人。但是它們都認為自己是最強的,於是,一場比賽開始了 機器人們都想知道誰是最敏捷的,於是它們進行了如下乙個比賽。首先,他們面前會有一排共 n 個數,它們比賽看誰能最先把每連續 k 個數中最大和最小值寫下來,當然,這些機械人運算速度都很快,它們比賽的是誰寫得快。但是 ...

1542 例 2 最敏捷的機械人

題目描述 wind 設計了很多機械人。但是它們都認為自己是最強的,於是,一場比賽開始了 機器人們都想知道誰是最敏捷的,於是它們進行了如下乙個比賽。首先,他們面前會有一排共 n 個數,它們比賽看誰能最先把每連續 k 個數中最大和最小值寫下來,當然,這些機械人運算速度都很快,它們比賽的是誰寫得快。但是 ...

最敏捷的機械人(線段樹維護區間最值)

題面 wind設計了很多機械人。但是它們都認為自己是最強的,於是,一場比賽開始了 機器人們都想知道誰是最敏捷的,於是它們進行了如下乙個比賽。首先,他們面前會有一排共n個數,它們比賽看誰能最先把每連續k個數中最大和最小值寫下來,當然,這些機械人運算速度都很,它們比賽的是誰寫得快。但是wind也想知道答...