程式設計 輕重搭配

2021-09-12 03:08:12 字數 549 閱讀 5784

n 個同學去動物園參觀,原本每人都需要買一張門票,但售票處推出了乙個優惠活動,乙個體重為 xx 的人可以和體重至少為 2x2x 配對,這樣兩人只需買一張票。現在給出了 nn 個人的體重,請你計算他們最少需要買幾張門票?

輸入格式

第一行乙個整數 nn,表示人數。

第二行 nn 個整數,每個整數 a_iai​

表示每個人的體重。

輸出格式

乙個整數,表示最少需要購買的門票數目。

題解:這個題目是倆倆匹配,最多可以匹配n/2對,所以我們把陣列的 [n/2,n)存到multiset中,然後迴圈陣列[0,n/2),從multiset中尋找第乙個大於等於2*分f[i]的數。

**如下:

#include using namespace std;

int f[500005];

int vis[500005];

int main()

ans--;

ss.erase(it);

} cout

}

計蒜客藍橋杯模擬賽 輕重搭配 貪心

n 個同學去動物園參觀,原本每人都需要買一張門票,但售票處推出了乙個優惠活動,乙個體重為 x 的人可以和體重至少為 2x 配對,這樣兩人只需買一張票。現在給出了 n個人的體重,請你計算他們最少需要買幾張門票?第一行乙個整數 n,表示人數。第二行 n 個整數,每個整數 ai 表示每個人的體重。乙個整數...

關於輕重緩急

上圖是關於輕重緩急的基本模式。最右上角是終極點 目標 最左下角是起始點 單一 我們大多數人都想魚與熊掌兼得。但是我們面臨的外部事件太多,每件事情我們都要做到完美無缺,幾乎是不可能的。因為你的時間,精力有限。就像一瓶番茄醬,塗的地方越多,醬汁就越薄。事實上,人要十全十美那太傻了,不知道做什麼,什麼都想...

輕重鏈剖分

樹鏈剖分是一種將樹轉化為一條鏈的演算法,通常和線段樹,樹狀陣列,dp等針對鏈的演算法結合使用。正如題目所說,本文只講輕重鏈剖分 預處理首先扔出乙個定理 樹中任意一條路徑均可以拆分成一條鏈上 o log n 個連續區間。證明 構造 乙個dfs序就行了 但是實際 實現中,一般都是優先遍歷重兒子,這樣遍歷...