問題描述:
有許多木樁需要處理,每個木樁有長度 li 和重量 wi 這兩個屬性。處理第乙個木樁需要1分鐘,之後每次處理木樁,若滿足 li+1<=li且 wi+1<=wi ,則不消耗時間。否則,每次處理木樁耗時1分鐘。
假設每組有n個木樁,分別給出長度和重量。求最小的總安裝時間。
思路:按長度對木樁進行排序,然後用貪心的思想分組,每一組內的木樁都滿足條件即可。
輸入輸出例項:
輸入:4 9 5 2 2 1 3 5 1 4
輸出:說明:輸入中第一行代表測試資料數目,第二行為這一組測試資料的木樁數目,第三行為木樁的長度和重量(長 重 長 重......)
#include"stdio.h"
#include"malloc.h"
void sort(int *m,int *follow,int start,int end)
}count++;
}} printf("%d\n",count);
t--;
} return 0;
}
貪心演算法的總結處理
貪心演算法 又稱貪婪演算法 是指,在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,演算法得到的是在某種意義上的區域性最優解。核心的處理在於 最優子結構的存在,即部分最優解合起來是整體最優解。以題目進行分析 p7095 yloi2020 不離 ps首先感謝一下寫題解的...
經典貪心演算法 貪心演算法概述
貪心演算法具有最優子問題結構,它的特點是 短視 每次選擇對當前局面最有利的決策,來一步步獲得最優解。我個人認為,貪心不是乙個具體的方法,而是一類方法,貪心演算法的關鍵不在於想到,而在於正確性的證明。要證明乙個貪心演算法是正確的,需要證明我們可以把乙個最優解逐步轉化為我們用貪心演算法所得到的解,而解不...
演算法 貪心演算法
把乙個複雜問題分解為一系列較為簡單的區域性最優選擇,每乙個選擇都是對當前解的乙個擴充套件,知道獲得問題的完整解。在解決問題的策略上目光短淺,只根據當前已有的資訊做出選擇,而且一旦做出了選擇,不管將來有什麼結果這個選擇都不會改變。換言之,貪心法並不是從整體最優考慮,它所做出的選擇只是在某種意義上的區域...