花費和利潤問題。要求花費最少,利潤最大。
輸入: 陣列 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中活動的相容性。...