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