1542 例 2 最敏捷的機械人

2021-09-29 15:09:40 字數 959 閱讀 4120

【題目描述】

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

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

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

【輸入】

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

第二行共 n 個數,為數字序列,所有數字均在 pascal 的 longint 範圍內,即所有數均為整數,且在 [−231,231−1]範圍內。

【輸出】

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

對於全部資料,1≤k≤n≤105 。

【**】

無st表模板題,比昨天寫的快多了,理解加深了一點,但還是有些地方卡殼,這題就比昨天多了乙個記錄min的陣列,還有理解位運算子和st表的儲存過程時理解st表的關鍵

#include

#include

#include

const

int n =

1e5+5;

using

namespace std;

int n,k,f[n][25

],f1[n][25

],a[n]

,log[n]

;//預處理

void

init()

for(

int j=1;

(1<<=n;j++)}

}int

ansmax

(int l,

int r)

intansmin

(int l,

int r)

intmain()

return0;

}

最敏捷的機械人

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

loj 10120 最敏捷的機械人

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

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

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