洛谷秋令營day1模擬賽原地爆炸,心態崩了。於是打算寫一下初賽題放松一下。
上次胡亂分析到了選擇題,這次我想說說后面的題。
問題求解
T1.有一個1x8的方格圖形,黑白兩色填塗每個方格,兩個黑格並不能相鄰,求方案數。
我敢保證當時考場上要是沒人跟我說這題是斐波那契數列打死我也想不起來。
當時我的做法是依次考慮填多少個黑格,比如說填0個黑格,有1種方法,填1個黑格,有8種方法,填2個黑格,3個黑格,4個黑格。。
因為方格只有8個,而黑格不能相鄰,所以黑格不能填到4格以上,道理顯然。
當時我可能是石樂志或者說是數重了,反正最后的數不是55。。
正解是這樣講的。
我們考慮只有一個格子的情況,只有兩種填塗方案,可以記f(1) = 2;
然后考慮只有兩個格子的情況,只有三種填塗方案,可以記f(2) = 3;
(誒,這倆方案里面應該都有 一個什么也不填的情況啊,這是不是重復啊)
不是。
然后考慮只有三個格子的情況,可以一個也不填,填一個在左,填一個在中,填一個在右,填兩個在兩側,有5種情況,我們暫記f(3) = 5。
你能找到f(3)與f(1)和f(2)的關系嗎?
我們回看一下f(1)和f(2),f(1)為該格填,或者不填,f(2)為填第一格,填第二格,或者不填。
有沒有發現,f(3)中的某幾種情況正好是f(1)或者f(2)?
那就對了。這便是遞推式斐波那契的變種,既然總有f(n) = f(n-1) + f(n-2) (f(1) = 2,f(2) = 3),算f(8),會了吧。
T2.安排時間。這個題怎么說呢。。我沒法說。。答案是3種,如果你要問我為啥是3種,我只能說事實就是這樣。。。這個。。很難用很通俗的方法講,啊反正就是隨便找幾個試試安排就好。就是找同時段能在一起考的科目,判斷兩科是不是可以一起考的依據就是看某個人是不是同時報了這兩科,如果是同時報了那這兩科就必須放在不同的時間段考。
讀程題。
T1.恭喜你發現了noip2016初賽經典的卡逗號題!
(雖然我沒被卡23333)
看main函數可以得知,這個算法的作用是把a數組倒過來存儲,除了那個逗號,剩下的都是送分部分。
T2.恭喜你又發現了noip2016初賽經典的卡逗號題!
(這尼瑪是啥啊怎么這么長我怎么模擬)
我們大致可以看出這個題是跟萬惡的字符串有關的。說實話,我是根據輸入數據猜的輸出。
也許是冥冥之中有感應,我發現輸入數據有這么個小特點。
字符串都是被一個冒號分開的,左邊那個串比較短,右邊那個串比較長,但是你應該能發現左串和右串的關系。。就算你前兩個看不出來第三個SARS也能提示的很明顯了吧。。。
對,就是你想的那樣,判斷是不是“縮寫”。。。
T3.需要靠腦回路的遞歸。。嗎?並不是。。如果你知道lps什么意思。。
自己慢慢模擬吧。。注意記錄一下中間結果,可以發現這個是判斷最長回文子串的長度。。。
最長回文子串的英文縮寫就是lps,所以當年有好多人直接秒掉了這道題。。。
T4.圖論的味道(雖然輸入數據是樹)
這個真沒什么好講的。。給你一棵樹,讓你去掉某個節點以及相連的邊,使得剩下的樹里面最大的連通塊所包含的節點最少,讓你輸出刪去的節點號以及最大聯通塊包含的節點數。。
知道意思了就算不看代碼手擼也能過。。所以真沒啥好講的。。。