第五屆藍橋杯決賽做題報告
此次比賽是我本人第一次參加全國性的程式設計比賽,比賽結果:全國c/c++ b
組二等獎。做題情況:寫了前
5題,程式設計大題可能部分測試資料沒過,最後一題,寫了乙個多小時,當時想到用寬搜,就一直寫了下去,沒有想其他的方法,結果,寫完後題目給的測試資料都沒過,此時比賽也接近了尾聲。
下面就部分比賽試題詳細的談談:
第一題,填空題,還是比較簡單的,唯一令人糾結的就是周歲到底是怎麼算的。我的演算法直接就是2014
減去出生年份。
第二題,填空題,一道資料結構題目,有一定難度,題目大意:16
輛車進棧再出棧,棧無限深,求共有多少種方式。當時看到這題,我還暗自竊喜,剛好之前看過劉汝佳的《演算法競賽入門》裡有相似的一道題,可是卻忘得一乾二淨,後來搞了
16層迴圈,還好是一題填空題,答案在
2,3秒後才跳出來了。當時的主要想法就是:每進一次棧都會假設有一次出棧,出棧的個數可以不同(
0<=num<=i
),所有不同的方式就是題目要求的總數。第i層
for迴圈:
的全排列先列印,顯然花費的時間更長。後來也聽了一些寫出來的同學用的是模擬的方式。
第三題,**填空題,也是一道嚴蔚敏《資料結構》裡的相似題目,字串的kmp
匹配,同樣看了這題很激動,因為自己本身本科期間資料結構學的比較好,可是給出的**裡有乙個很令人凌亂的東西,就是匹配函式有一行給出乙個變數
n並賦值,其他地方也沒提到這個變數,後來就一直在這上面下功夫,始終出不來結果,煩躁之時去了一下廁所,回來後,根據自己直覺寫了出來。
第四題,關燈熄燈問題,資料比較大,達到10的16
次方。當時初看以為要用到高精度,後來直接用了
long long
,對於給定的範圍直接做一次遍歷判斷,可能有部分測試資料超時,當時也沒有給它優化。賽後,聽同去比賽的大神說可以用數學方式。
第五題,看上去比較複雜,細看比較簡單,用了不到20
分鐘寫完,實在想不出來有沒有什麼混淆人的地方,賽後和同學交流了一下,發現大家都是這樣。由於沒有
oj實驗,所以也不知道自己寫的對還是不對。
第六題,算是一道比較難的題目,據說可以用動態規劃,我自己想的是用寬搜,首先先找到乙個合適的區域先標記,然後再向四周擴散,如果周圍方塊的價值減去還需建造的籬笆價值大於零,則將其算在內。然而該演算法的正確性有待檢驗,當時給出的第一組測試資料沒有通過。賽後想想,早知道放棄這一題,將前面的幾題好好搞定。說不定會有更好的比賽結果。
總結此次比賽,結果還行,畢竟是第一次參加這種全國性的比賽,同時也更堅定了自己在演算法道路上的不斷追求。
2014/6/5
藍橋杯第五屆決賽B組
小明和他的表弟一起去看電影,有人問他們的年齡。小明說 今年是我們的幸運年啊。我出生年份的四位數字加起來剛好是我的年齡。表弟的也是如此。已知今年是2014年,並且,小明說的年齡指的是周歲。請推斷並填寫出小明的出生年份。這是乙個4位整數,請通過瀏覽器提交答案,不要填寫任何多餘的內容 比如,他表弟的出生年...
第五屆B組藍橋杯決賽
1 小明和他的表弟一起去看電影,有人問他們的年齡。小明說 今年是我們的幸運年啊。我出生年份的四位數字加起來剛好是我的年齡。表弟的也是如此。已知今年是2014年,並且,小明說的年齡指的是周歲。請推斷並填寫出小明的出生年份。這是乙個4位整數,請通過瀏覽器提交答案,不要填寫任何多餘的內容 比如,他表弟的出...
第五屆藍橋決賽記
首先非常感謝老師,學院為我們付出的辛苦,有幸能夠獲得省賽一等進入決賽,學院出了巨大的資金支援我們去北京比賽,這次比賽我雖然沒有拿到一等獎,但我收穫了頗多經驗,得了三等,就像老師說的,大一不用著急,我有大把時間。但我想大把時間是有,可不能隨便拿來浪費。下邊來講講題目,考試時我發現前5題十分簡單,不過我...