這道題沒有什麼難度 只需要建立乙個結構體 存當前部下的任務交待時間和執行任務所消耗的時間就行 之後按執行任務消耗時間的從大到小排序 如果消耗時間相等 就讓所用交代時間短的排在前面 讓消耗時間多的先執行 利用貪心 完成
其實題目沒有什麼難度 主要是 學會應用的stl容器的vector
下面貼出**
#include#include#include#include#includeusing namespace std;
struct job
};int main()
); // 呼叫push_back函式進行資料的插入
}sort(v.begin(), v.end()); //對結構體進行排序 呼叫begin 和 end 函式 用來傳輸迭代器中的第乙個和最後乙個資料的位址
int s = 0;
int ans =0;
for(int i = 0; i < n; i++)
printf("case %d: %d\n",kase++, ans);
}return 0;
}
UVA 11729 簡單貪心
新增鏈結描述 結論 根據完成的時間排序。證明 假設交代任務時間為a,完成任務時間為b。選取n個人之中的兩個人進行觀察,這兩個人之間的順序對其他人不產生影響,假設b1 b2,當b1在前面的時候,二者為max1 a1 a2 b2,a1 b1 當b1在後面的時候max2 a2 b2,a1 a2 b1 因為...
uva11729(貪心,藍書第2頁)
想了想,這個貪心畢竟把我給騙到了,所以還是寫個題解。不難發現,最後無論怎樣都至少需要付出sigma b i 的時間 而影響最終時間的,只有j i 而已,而最佳的方法當然是時間 長的先交代,當然,這只是感覺而已,證明見藍書吧。這些貪心的分析方法就一種,貪心大總結裡面有。code include inc...
UVA11729突擊戰(匯報和執行任務)
題意 你是乙個長官,有一些士兵要跟你先匯報任務後在去執行任務,每次只能接受乙個人的匯報,但是每一時刻可以有多個士兵在執行任務,問所有任務執行完要的最小時間。思路 按執行任務時間從大到小排序來執行就行了,至於為什麼貪心的策略是這個我是這麼想的,首先任何乙個人執行任務的順序都不會影響他的匯報和幹活時間,...