演算法題目打卡 Ques20201012

2021-10-25 17:45:53 字數 1543 閱讀 2972

活動安排問題,乙個場地,安排盡量多的活動。

// 活動安排

#include #include #include using namespace std;

struct activity

;class ques20201012

};*/

void test(vector&activities)

}private:

vectorgreedyactivity(vector& activities) ;

for (int i = 1; i < activities.size();i++)

} return solution;

}};bool cmp(const activity& a, const activity& b)//自定義結構體的排序,sort排序只能在main函式在呼叫

int main() ;

vectorf = ;

vectoractivities;

for (int i = 0; i < 11; i++)

ques20201012 qus = ques20201012();

sort(activities.begin(), activities.end(), cmp); // 自定義結構體排序,vector排序

與上題類似,不過貪心策略是按單位價值,最後乙個直接裝一部分。

sort(napsacks.begin(), napsacks.end(), cmp2); // 自定義結構體排序,vector排序

演算法題目打卡 Ques20201007

特別簡單的問題,從一組陣列中選出第k大的元素a i 最容易想到的辦法時間複雜度為o n 2 考慮快排中的劃分法 分治思想 選擇的基準元素預設是陣列的第乙個。對應 試用劃分法 int partselect vector a,int n,int k 但是這樣每次分治迭代只會減少1的複雜度,最壞複雜度 n...

演算法題目打卡 Ques20201017

設有n個顧客同時等待同一服務,顧客i需要的服務時間為t,1 i n,應如何安排n個顧客的服務次序才能使總的等待時間達到最小?總的等待時間是各顧客等待服務的總和。試給出你的做法的理由。使用貪心策略,將服務所需時間按從小到大進行排列,優先安排服務時間短的。二元字首碼 表示乙個字元的0,1字串不能是表示另...

演算法打卡Week2

例1 輸入 l1 2 4,3 l2 5 6,4 輸出 7,0,8 解釋 342 465 807 例2 輸入 l1 0 l2 0 輸出 0 學習鍊錶結構 鍊錶是一種遞迴的資料結構,由乙個個結點 node 組成,且每個節點都有資料域 value 和指標域 next head 為單鏈表的頭指標,永遠指向第...