演算法(33) 貪心(3) 花費和利潤問題 C

2021-10-02 14:50:28 字數 703 閱讀 2052

花費和利潤問題。要求花費最少,利潤最大。

輸入: 陣列  costs,i號專案的花費

profits ,i號專案扣除花費後的利潤

k 序列的最多的專案個數

m 初始的資金

輸出:你最後獲得的最大錢數

思路:花費 小根堆;利潤 大根堆

class node_ipo 

};class maxprofitcomparator

};class mincostcomparator

};int findmaximizedcapital_test(int k, int w, int profits, int cost,int m_num)

priority_queue,mincostcomparator> mincostq;// 花費組織的小根堆

priority_queue, maxprofitcomparator> maxprofitq;//利潤組織的大根堆

for (int i = 0; i < m_num; i++)

for (int i = 1; i < k; i++)

if (maxprofitq.empty())

w += maxprofitq.top().m_p; //3.啟動資金累加 大根堆挑乙個最值得的專案

} return w;

}

演算法(33) 貪心(3) 花費和利潤問題 C

花費和利潤問題。要求花費最少,利潤最大。輸入 陣列 costs,i號專案的花費 profits i號專案扣除花費後的利潤 k 序列的最多的專案個數 m 初始的資金 輸出 你最後獲得的最大錢數 思路 花費 小根堆 利潤 大根堆 class node ipo class maxprofitcompara...

刪數問題 貪心演算法 C

題目描述 給定乙個高精度正整數a,去掉其中k個數字後按原左右次序將組成乙個新的正整數。對給定的a,k尋找一種方案,使得剩下的數字組成的新數最小。此題可用貪心演算法進行求解 具體思路 當k 1時,對於n位數構成的數刪除哪一位,使得剩下的資料最小。刪除滿足如下條件的a i 它是第乙個a i a i 1 ...

貪心演算法 活動安排問題(C )

該演算法的貪心選擇的意義 基本步驟 用i代表第i個活動,s i 代表第i個活動開始時間,f i 代表第i個活動的結束時間,然後按結束時間從早到晚排序。系統依次檢查活動i是否與當前已選擇的所有活動相容。若相容,活動i加入已選擇活動的集合中,否則,不選擇活動i,而繼續檢查下一活動與集合a中活動的相容性。...