藍橋杯

Bingnoi發表於2020-10-03

藍橋杯歷屆試題總結

資料結構基礎知識

二叉樹
二叉樹的性質:
1.完全二叉樹和滿二叉樹
滿二叉樹是一個完整的三角形,而完全二叉樹是一個底部預設的三角形。
2.二叉樹的第i層上最多有2^(i-1)個節點。
3.深度為k的二叉樹最多有2^k-1個節點
4.對於一棵二叉樹,若其葉子節點為n0,度為2的節點為n2,則n0=n2+1;

一棵包含有2019個結點的二叉樹,最多包含多少個葉結點?

n0+n0-1=2019;  
n0=1010 

無向連通圖
完全圖:有 n(n-1)/2 條邊的無向圖。其中n是結點個數。必定是連通圖。
有向完全圖:有n(n-1)條邊的有向圖。其中n是結點個數。每兩個頂點之間都有兩條方向相反的邊連線的圖。

數位處理

int number;
while(number)
{
	int bit=number%10;//獲取最低位
	number/=10;
}
int number;
number%10;//個位
number/10%10;//十位
number/100%10;//百位

取餘

如下的10行資料,每行有10個整數,請你求出它們的乘積的末尾有多少個零?*
*給定數列 1, 1, 1, 3, 5, 9, 17, …,從第 4 項開始,每項都是前 3 項的和。求
第 20190324 項的最後 4 位數字。

整個20世紀(190111日至20001231日之間),一共有多少個星期一?

在大數計算的過程中,關注輸出的部分是一個剪枝的小技巧。

聯通塊
較深的連通塊常採用寬度優先搜尋,防止遞迴過深爆棧

你有一張某海域NxN畫素的照片,"."表示海洋、"#"表示陸地,如下所示:
其中"上下左右"四個方向上連在一起的一片陸地組成一座島嶼。例如上圖就有2座島嶼。

由於全球變暖導致了海面上升,科學家預測未來幾十年,島嶼邊緣一個畫素的範圍會被海水淹沒。具體來說如果一塊陸地畫素與海洋相鄰(上下左右四個相鄰畫素中有海洋),它就會被淹沒。

例如上圖中的海域未來會變成如下樣子:

請你計算:依照科學家的預測,照片中有多少島嶼會被完全淹沒。

通過比較每一個小連通塊的數量和該連通塊將會被淹沒的塊數的數量,得出該連通塊是否會被淹沒。

驗證連通塊的數量也可使用類似的方法,利用bfs標記一個連通塊,然後計數即可。

字串的處理