欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:藍橋杯備賽(C/C++組)

柚子快報激活碼778899分享:藍橋杯備賽(C/C++組)

http://yzkb.51969.com/

README:

本筆記是自己的備考筆記,按照官網提綱進行復習!適合有基礎,復習用。

一、總考點

????????

試題考查選手解決實際問題的能力,對于結果填空題,選手可以使用手算、軟件、編程等方法解決,對于編程大題,選手只能使用編程解決。選手可在 C 語言程序中使用標準 C 的庫函數(shù), 在 C++語言程序中使用標準 C++的庫函數(shù)(包括 C 庫、STL 等)。

????????考查范圍(

計算機算法

)包括:

????????枚舉、排序、搜索、計數(shù)、貪心、動態(tài)規(guī)劃、圖論、數(shù)論、博弈論*

、概率論

*

、計算幾何*

、字符串算法等。 數(shù)據(jù)結構:數(shù)組、對象/

結構、字符串、隊列、棧、樹、圖、堆、平衡樹

/

線段樹、復雜數(shù)據(jù)結構

*

、嵌套數(shù)據(jù)結構*等。(標*的部分只限于 C/C++研究生組、C/C++大學 A 組)

二、分模塊(可略過)

1.枚舉

????????我們學習過單例模式,即一個類只有一個實例。而枚舉其實就是多例,一個類有多個實例,但實例的個數(shù)不是無窮的,是有限個數(shù)的。例如開車的方向有幾種:前、后、左、右。我們稱呼枚舉類中實例為枚舉項!

做題思路:使用枚舉的方法得到所有滿足要求的表達式,計算每一個表達式的結果并選出結果。

2.排序

見另一個博客:算法設計與分析(實驗一)-CSDN博客

3.搜索(bfs,dfs)

寬度優(yōu)先搜索:BFS寬度優(yōu)先搜索例題(藍橋杯)——逃跑的牛-CSDN博客

深度優(yōu)先搜索:

4.貪心(顧名思義)

5.模擬

6.二分

7.DP(普通一維問題)

dp:動態(tài)規(guī)劃,下面這個博主寫的非常好!

算法之動態(tài)規(guī)劃總結(11種DP類型,70道全部搞懂)-CSDN博客

(經典dp題)最長增序列問題思路:

首先初始化dp[]=1;

從第一個元素遍歷i,第二層循環(huán)該元素之前的元素j,若存在某兩個i,j 存在遞增關系,則dp[i]=max(dp[j]+1,dp[1]);

? 8.高精度

算法講解之高精度算法 - 知乎

三、速成課筆記

藍橋杯速成課鏈接:bilibili

1.頭文件

萬能頭文件:

#include

using namespace std;

注:C++標準程序庫中的所有標識符都被定義于一個名為std的namespace中。

2.vector向量

(0)頭文件

#include

//#include

(1)定義

// vector VectorName;

vector vi;

vector vc;

(2)存儲

//錯誤存儲方法:vi[i]=i;(此時vi[i]為空)

vi.push_back(i);

(3)訪問

// VectorName[index] 坐標從0開始

cout<<"vi[0]="<

//迭代器

vector::iterator it=vi.begin();

for(;it!=vi.end();it++)

cout<<*it<<" ";

(4)操作

返回最后一個元素:

vi.back();

返回第一個元素

vi.front();

清空向量

vi.clear();

判空

vi.empty(); //空則返回ture(cout結果為1),不空則返回false(0)

插入

vi.insert(vi.begin()+1,5);

?元素個數(shù)

vi.size();

當前容量

vi.capacity(); //返回a在內存中總共可以容納的元素個數(shù)

(如圖所示:當插入一個元素時,若容器的容量不夠,則自動增加一個容量,若刪除一個元素,容量大小不變。)

刪除

vi.pop_back();//刪除最后一個元素

vi.erase(it);//刪除指定迭代器位置元素

更詳細的vector用法:C++ vector的用法(整理)-CSDN博客

3.set容器

特點:自動排序,元素不重復

(0)頭文件

#include

(1)定義

//set SetName;

set si;

(2)訪問

不能通過下標訪問!用迭代器訪問(迭代器在后面中講到)

cout<<"set 中的第一個元素是 :"<<*s.begin()<

(3)最大容量

s.max_size();

最大容量大小與硬件有關(增刪不變)。

(4)存儲

s.insert(i);

(5)操作

清空向量

s.clear();

判空

s.empty(); //空則返回ture(cout結果為1),不空則返回false(0)

元素個數(shù)

s.size();

find()

set s;

if(s.begin()==s.end())

cout<<"s.begin()==s.end()"<

cout<<*s.begin()<<" "<<*s.end()<

s.insert(1);

s.insert(2);

s.insert(3);

s.insert(4);

cout<<*s.begin()<<" "<<*s.end()<

cout<<*s.find(0)<

在上面這個代碼鐘,,輸出結果如下:

(1)s.begin()==s.end()

(2)0 0?

(3)1 4? //注意!這里的4不是最后一個元素的4,而是容器元素個數(shù)4

(4)4 //因為沒有找到0元素,故返回的是迭代器:s.end() 而這個位置存儲的是元素個數(shù)4

更多內容見:set容器迭代器及find()函數(shù)

對比set和vector的用法

兩個stl的語法對照

vectorset添加v.push_back()s.insert()刪除v.pop_back() 或 v.erase()s.erase(it)第一個元素v.front() 或 *s.begin()*s.begin()最后一個元素v.back() 或?*s.end()*s.end()數(shù)量size()判空empty()

注意:

????????容器存入數(shù)據(jù)時相當于復制,不是引用。?

4.隊列

(bfs常用到)

push() 在隊尾插入一個元素

pop() 刪除隊列第一個元素

size() 返回隊列中元素個數(shù)

empty() 如果隊列空則返回true

front() 返回隊列中的第一個元素

back() 返回隊列中最后一個元素

5.string

(1)按char訪問

string str="about";

cout<

cout<

(2)加

string str2="abc",str3="efg";

cout<

加法=拼接操作

(3)另一種拼接——append()

string s1="abc"

string s2="123"

1. s1.append(s2,2)

結果:abc3 [這里的2是pos下標從0開始]

2. s1.append("123",2)

結果: abc12 [這里的2指的是從坐標0開始的兩個字符]

3. s1.append("123")

結果: abc123

(4)

子串:需要連續(xù),如{abdgfr}的子串有abd,dgfr等子序列:不需要連續(xù),只需要保持元素間相對有序。如 {abdgfr}的子序列有adf,bgf等

6.樹

先序遍歷、中序、后序方法:遞歸or棧

赫夫曼編碼:

加權路徑長度WPL:

7.圖

四、常用知識?

1、萬能頭文件

#include

2 、取消同步

ios::sync_with_stdio(false);

cin.tie(0);

cout.tie(0);

3、數(shù)據(jù)類型

4、去尾

cout<

結果:6

5、輸出(C)

printf("%m.nf",num):輸出浮點數(shù),m為寬度,n為小數(shù)點右邊數(shù)位

6、排序

(1)sort

sort(begin,end,cmp);

其中: begin為指向待排序的數(shù)組的第一個元素的指針 end為指向待排序的數(shù)組的最后一個元素的下一位置的指針 cmp為可選參數(shù)(默認升序)

降序:

(2)類對象排序sort

《重載運算符》

class Student{

//類對象排序函數(shù)

friend bool operator <(Student &a,Student &b)

{

return a.score!=b.score?a.scoreb.score;

}

};

sort(stu,stu+n); //執(zhí)行排序操作

類對象排序:

class item

{

public:

int type_A;//類成員參數(shù)A

int type_B;//類成員參數(shù)B

};

bool cmpA(const item& x,const item& y)

{

return x.type_A < y.type_A;

}

bool cmpB(const item& x, const item& y)

{

return x.type_B < y.type_B;

}

柚子快報激活碼778899分享:藍橋杯備賽(C/C++組)

http://yzkb.51969.com/

精彩內容

評論可見,查看隱藏內容

本文內容根據(jù)網絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉載請注明,如有侵權,聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19600302.html

發(fā)布評論

您暫未設置收款碼

請在主題配置——文章設置里上傳

掃描二維碼手機訪問

文章目錄