題解:本題主要考查貪心+遞推。
簡要題意:兩個客棧a,b,滿足a,b顏色相同且[a,b]閉區間之間必須存在某個客棧的咖啡店的花費<=p。求滿足的方案數。
1.貪心+遞推:我們列舉客棧,用t來記錄最近的花費小於等於p的客棧,以它為選擇的咖啡店,向後列舉記錄到上乙個t的客棧顏色種類數(因為[a,b]閉區間有花費小於等於p的)。
所以如果這個客棧更新了t,ans+=num[這個客棧的顏色]-1
如果這個客棧沒有更新t,ans+=num[這個客棧的顏色]
**如下:
#includeusing namespace std;
int color[233333],num[233333],money[233333];
int n,k,p,t,ans;
int main()
else ans+=num[color[i]];
} cout
}
NOIP2011提高組(選擇客棧)
題目大意 中文題。就不解釋了 題目思路 看了其他巨巨的blog寫的,dp思路 include 時間複雜度o n 空間複雜度o 5n include include include include include include include include include include incl...
NOIP2011 提高組 選擇客棧
今天考了noip11年的一些題,這道題是day2 t1,考試的時候我只想出了o n 2 的演算法,拿了七十分,下午改了兩個多小時,但是還是只寫了乙個o nlogn k 的演算法,但是在機房的老爺機上已經可以過了 鏈結在這裡 我們可以把每一種主題相同的客棧先用二維陣列存下來,同時記錄滿足費用 p的客棧...
2011提高組選擇客棧
麗江河邊有n 家很有特色的客棧,客棧按照其位置順序從 1 到n 編號。每家客棧都按照某一種色調進行裝飾 總共 k 種,用整數 0 k 1 表示 且每家客棧都設有一家咖啡店,每家咖啡店均有各自的最低消費。兩位遊客一起去麗江旅遊,他們喜歡相同的色調,又想嘗試兩個不同的客棧,因此決定分別住在色調相同的兩家...