藍橋杯備賽筆記 規律題

2021-08-15 03:11:17 字數 1460 閱讀 9296

今年大三,開始準備藍橋杯大賽,在做了第七屆以及第六屆的題以後,對於藍橋杯的考點以及考查方式有了一定的了解,這裡做乙個小結。

藍橋杯的考察點每年都會考三類題型,第一種是規律題,典型特徵是給出乙個變化情況,讓你來找出其中的規律,並且根據這個規律開回答它的問題。第二種是考察對於暴力求解的方法的理解與使用情況。第三種也是最難的一種,對於遞迴類問題的理解,如果要解決這類的問題,需要理解8皇后演算法和漢諾塔等諸如此類的問題才行,今天總結的是找規律的問題

例如第七屆的第一題,煤球數。題幹如下:有一堆煤球,堆成三角稜錐形。具體:

第一層放1個,

第二層3個(排列成三角形),

第三層6個(排列成三角形),

第四層10個(排列成三角形),

....

如果一共有100層,共有多少個煤球?

要解決這類的問題,關鍵是要找準這裡面有多少個變數,以及這些變數與最終求解的結果間的關係。

經過觀察發現,這裡面一共有四個變數,第乙個是層號,第二個是每層的數量,第三個是總的數量。各個變數之間的關係為總的數量為各層的煤球數累加,每層的煤球數為上一層的球數加上這一層的層號,於是可以判斷,至少需要三個變數,分別代表:層號、每層的煤球數、煤球總數。解題的思路為:定義乙個100次的迴圈,每次迴圈的時候,層序號加一,有這一層的序號以後,就可以計算出這一層的球數,從而計算出總的煤球數:**如下:

package holidayprarewie;

/* * @author理工吳彥祖

* @info在校大學生,歡迎交流q2904792453,妹子優先

*/public class countofbru

system.out.println(total);

} }/* * 最終結果:171700

*/

同一型別的問題還會與窮舉演算法一起考察。如出現在了第六屆的比賽中的這道題:

生日蠟燭

某君從某年開始每年都舉辦一次生日party,並且每次都要吹熄與年齡相同根數的蠟燭,

現在算起來,他一共吹熄了236根蠟燭。

請問,他從多少歲開始過生日party的?

仔細觀察這道題發現,一共有兩個變數,第乙個變數是歲數,即每年的蠟燭數,他的特點是逐年遞增。第二個變數是總的蠟燭數,他的特點是總的蠟燭數是總的蠟燭數加上歲數。從不同的歲數開始過生日,依次出現的總的蠟燭數的情況是不一樣的,於是,可以窮舉出所有的歲數,如果從這個歲數開始過生日,如果總的蠟燭數會出現236,就將這個數字列印出來,**如下:

package holidayprarewie;

/* * @author理工吳彥祖

* @info在校大學生,歡迎交流q2904792453,妹子優先

*/public class birthcandle

} }}/*

* 結果為26

*/

還有的題目是考察暴力解法與找規律相結合或者回溯法與找規律相結合,這個在後面的部落格裡面總結。

藍橋杯備賽筆記 暴力解法

今天是做比賽總結的第二天,今天總結的是用暴力解法解決題目。這種方法常常用在解決例如湊算式等問題的求解上,思路比較簡單,所以考點一般設定在對於細節的處理上面,換句話講,如果細節處理不當,很容易造成丟分。具體來說,有這麼一道題,就是典型的暴力解法 第七屆藍橋杯第三題 的應用 湊算式b def a 10 ...

藍橋杯入門訓練 藍橋杯備賽

begin 1 a b問題str1 input str2 str1.split s int str2 0 int str2 1 print s begin 2 序列求和s int input 用公式計算而不用迴圈,避免超時 n s s 1 2print int n begin 3 圓的面積impor...

藍橋杯備賽筆記 01 遞迴列舉演算法

思路2 狀態壓縮 排列型列舉 組合型列舉 例題 這是博主準備藍橋杯的時候的學習筆記,今天是準備的第一天,學習列舉演算法。本文是博主在學習的時候做的一些筆記整合。題目鏈結 遞迴實現指數型列舉 指數型列舉,實際就是求出集合 a 0,1,2,n 的所有真子集的組合和排列。求出所有真子集可能全排列的方法為求...