8593 最大覆蓋問題

2021-09-28 16:07:01 字數 807 閱讀 9825

時間限制:50ms 記憶體限制:1000k

提交次數:193 通過次數:88

題型: 程式設計題 語言: g++;gcc;vc

description

輸入格式

第1行是正整數n,(n<=10000)

第2行是整數序列 a1 a2 … an

輸出格式

計算出的最大覆蓋區間長度

輸入樣例

101 6 2 1 -2 3 5 2 -4 3

輸出樣例5提示

若依次去求出每個數的最大覆蓋長度,則必須有兩個巢狀的迴圈,時間複雜度為o(n^2)。

但此處求所有數的乙個最大覆蓋長度,倒沒有必要每個數的最大覆蓋長度都求出來。

初始時,用兩個指標i和j指向串末,當ai和aj的關係滿足不等式時,j不動,i往左

走,……,直到不等式不滿足,記錄下長度。

下一步j往左移乙個,i不回退,繼續上面的比較,若找到更長的覆蓋長度,更新。

每迴圈一次要麼i要麼j少1;最後i=-1,j=0;共進行了2(n-1)次。所以時間複雜度為o(n)。

**奉上,無懈可擊,注意比較的時候是,兩個絕對值比較

#include

#include

intmain()

for(

int i=n-

1,j=n-

1;j>

0;j--)if

(maxlength}printf

("%d"

,maxlength)

;return0;

}

集合覆蓋問題 最大覆蓋問題 呼叫中心排班問題閒談

一 集合覆蓋問題 集合覆蓋問題 set covering problem 簡稱scp 是運籌學研究中典型的組合優化問題之一,工業領域裡的許多實際問題都可建模為集合覆蓋問題,如資源選擇問題 設施選址問題 移動基站的選址 物流中心的選址 等。scp的乙個典型應用描述如下 要在乙個城市建造若干個消防隊駐紮...

集合覆蓋問題 最大覆蓋問題 呼叫中心排班問題閒談

經典scp描述包含乙個集合u以及u內元素構成的 若干各小類集合s,目標是找到s 的乙個子集,該子集滿足所含元素包含了所有的元素且使小類集合個數最少。例如,u s 找到集合能滿足條件的可以有o 或是o 至於具體選哪種組合,還有引申的乙個問題 wsc,即weighted set cover加權集合覆蓋,...

棋盤覆蓋 最大匹配

題目描述 給出一張nn n 100 的西洋棋棋盤,其中被刪除了一些點,問可以使用多少12的多公尺諾骨牌進行掩蓋。輸入格式 第一行為n,m 表示有m個刪除的格仔 第二行到m 1行為x,y,分別表示刪除格仔所在的位置 x為第x行 y為第y列 輸出格式 乙個數,即最大覆蓋格數 include define...