題目背景: 那一年,這一年,青春散場,到畢業季,我們奔波著忙著找工作,來到招聘會上,看到黑壓壓的一大片人群.. 題目描述:畢業季,很多大公司來學校招聘,招聘會分散在不同時間段,小明想知道自己最多能完整的參加多少個招聘會(參加乙個招聘會的時候不能中斷或離開)。 假設現在有n個招聘會,每個招聘會都有個起止時間,時間由從招聘會第一天0點開始的小時數表示,n <= 1000 。 返回:最多參加的招聘會的個數n。 舉個例子: 現在有3場招聘會,他們的起始時間為: 9-10 10-20 8-15 返回:2
這是英雄會的乙個挑戰題
#include #include #include #include #include using namespace std;
bool cmp(const pair&tmpa,const pair&tmpb )
{ if (tmpa.second> &time)
{ sort(time.begin(),time.end(),cmp);
//返回能參加的招聘個數的數值n
int countnum=0;
int endnum=-1;
int sizenum=time.size();
for (int i=0;i&tmpa,const pair&tmpb)
{ if (tmpa.second> timepair;
pairnum1(2,8);
pairnum2(3,4);
pairnum3(2,5);
pairnum4(5,8);
pairnum5(8,20);
timepair.push_back(num4);
timepair.push_back(num1);
timepair.push_back(num2);
timepair.push_back(num3);
timepair.push_back(num5);
int num=forjob(timepair);
cout<
C C 演算法分析與設計 貪心(過橋問題)
在漆黑的夜裡,n位旅行者來到了一座狹窄而且沒有護欄的橋邊。如果不借助手電筒的話,大家是無論如何也不敢過橋去的。不幸的是,他們一共只帶了乙隻手電筒,而橋窄得只夠讓兩個人同時過。如果各自單獨過橋的話,每人所需要的時間分別是a1 a2 an分鐘 而如果兩人同時過橋,所需要的時間就是走得比較慢的那個人單獨行...
C C 演算法分析與設計 貪心(整數配對)
江鳥想到乙個有趣的問題 給你n個正整數,你可以將這n個整數按兩個一組的方式成對劃分,當然其中的元素也可以不和其他元素配對劃分。現在的問題是,讓劃分為一對的元素的乘積與未配對的元素相加求和,並且讓和最大。比如 考慮這個集合,如果我們讓 分別成一對,那麼得到的和為 1 4 0 3 2 5 15,當然這不...
演算法設計與分析之貪心法
貪心法總是做出在當前看來最好的選擇,一旦做出了選擇,不管將來有什麼結果,這個選擇都不會改變。也就是說貪心法並不從整體最優考慮,它所作出的選擇只是在某種意義上的區域性最優選擇。當然,希望貪心法得到的最終結果也是整體最優的。雖然貪心法不能對所有問題都得到整體最優解,但對許多問題它能產生整體最優解。幾點說...