#25960: 方法


fire5386 (becaidorz)

學校 : 國立清華大學
編號 : 115822
來源 : [140.114.217.8]
最後登入時間 :
2024-04-13 22:06:23
a146. Sliding Window -- POJ 2823 | From: [111.243.25.233] | 發表日期 : 2021-07-07 21:45

窗口的k可能會大於n,所以讀入k後把k設為min(n, k)就可以避免Segmentation Fault了

方法一:

這題的做法可以用C++的multiset實作,min就是*ms.begin(), max就是*ms.rbegin()

時間複雜度:O(nlog(n)) 因為每次insert的時間為log(n),執行n次

AC (1.7s, 37MB)

方法二:

用deque實作,詳細的說明google上面很多

時間複雜度:O(n) 只需掃過array一次,array長度為n

AC (0.7s, 6.5MB)

 

 
ZeroJudge Forum