演算法競賽入門經典筆記(二) STL

2021-08-19 03:14:09 字數 913 閱讀 7000

演算法競賽入門經典(第2版)學習筆記

1. 排序

#include #include using namespace std;

int main()

sort(a,a+n);//排序

int p=lower_bound(a,a+10,2);

//在已排序的陣列中找2的位置

sort可以對任意物件進行排序,可以使用sort(a,a+n)或者sort(v.begin(),v.end())呼叫

lower_bound的作用是查詢大於或者等於x的第乙個位置

2. 不定長陣列:vector

vector是乙個不定長陣列

a.size()返回a的長度;a.push_back()從尾部新增元素;a.pop_back()刪除最後乙個元素;a.empty()判斷是否為空;a.front()頭部元素

#include #include #include using namespace std;

int main()

while(!a.empty())

return 0;

}

3. 集合:set

每個元素最多出現一次

#include #include #include using namespace std;

int main()

for(set::iterator it=a.begin();it!=a.end();it++)

while(!a.empty())

x=g;

if(i> (istream &in, biginteger &b)

ostream& operator << (ostream &out,const biginteger &b)

演算法競賽入門經典 訓練指南 筆記

p1 貪心 自己想的糟糕的演算法 include 從大到小排序龍頭和騎士,每個龍頭由 恰好 能砍掉的騎士來砍 include 貌似沒問題,但是又難寫又慢 include 就當複習stl了 includeusing namespace std int n 1,m 1 int a 30000 vecto...

演算法競賽入門經典 訓練指南 筆記

p1 貪心 自己想的糟糕的演算法 include 從大到小排序龍頭和騎士,每個龍頭由 恰好 能砍掉的騎士來砍 include 貌似沒問題,但是又難寫又慢 include 就當複習stl了 includeusing namespace std int n 1,m 1 int a 30000 vecto...

演算法競賽入門經典 C 入門

include 提供輸入輸出流 include 提供常用演算法 using namespace std const int maxn 100 10 int a maxn int main return0 宣告陣列時,陣列大小可以用const宣告的常數。在c 中,這樣的寫法更加推薦。include i...