2014 暑假(清涼一夏) 題解(無Code)

2021-06-23 01:34:31 字數 1882 閱讀 3572

a題:

看懂題目了以後,果斷的模擬(或者數學,或者二分)

按數表的排列順序,會發現規律,從左下到右上來算一行,奇數項和偶數項分母和分子遞增遞減的不一樣,我們求第n項,只需要求1+2+ ... + m 剛好大於n的項m,然後通過奇數項和偶數項的排列規律,就可以求出來了。

恩 傳說這道題還可以用數學方法:額 具體的我就不推導(我也不會)直接給出公式 :m = (-1 + sqrt(1 + 8*n)) / 2。

然後可以二分,由於我們可以用n*(n + 1) / 2的方式算出前n項和,那麼我們就可以通過這一方式來利用二分來進行猜數,如果公式算出來的數小於n,那麼範圍就可以縮小到start - mid之間,這樣逐漸縮小範圍,就可以快速的求出m。

ps:我還是比較仁慈的,只卡了資料範圍,沒有卡時間(如果卡時間的話,就只能二分和數學了)

int範圍是:(1 << 31 ) - 1 ,沒有到 1 << 32

b題:

就是比簡單的最大串和麻煩了一點,需要用額外的陣列記錄一下開始的下標和結束的下標,然後直接輸出就ok。對了還有判斷一下,是否全是負數。

c題:

簡單寬搜:

在處理惡魔節點的時候,把此節點變成道路,但是並不走此節點,座標不變,然後把步數加1,新增到佇列裡面。

關鍵**:

struct node

node(){}

};

......
if(mp[x][y] == 'x')

.....
這樣第乙個搜到的第乙個節點的步數就是最少步數。

d題:

這道題是小白(演算法競賽)裡面的一道題,最大值最小化。

先用二分列舉,然後利用貪心是否能夠進行分割。

二分列舉的是能夠大於等於所有數的乙個數,然後利用這個數,來對這個序列進行判斷,看是否能夠利用這個數來進行符合的劃分。

貪心的策略是每次盡量向右劃分,也就是左邊的一組數超過或等於列舉出來的數,就算一次劃分。

e題:

一道簡單的數學題。

通過畫圖發現:如果橫邊正好整出a,那麼我橫著的瓷磚就可以拼m / a 塊,如果橫邊不能正好整除a,那麼橫著的就擺上m/ a + 1 塊,縱邊同理。

那麼需要的瓷磚就是 橫邊需要的數 * 縱邊需要的數。

同樣的, 資料是從1~1e9,如果相乘,超int。

f題:

額 應該算是博弈吧 還是算貪心?

對於每摞牌來說,要麼是奇數,要麼是偶數。

偶數時候:

兩個各取一半,因為如果靠近小俞這邊一半牌裡面有很大的數,那小俞想取這張牌就比你簡單的多(如果你不拿這摞的牌,那麼小俞也可以同樣的不取這摞的牌,那麼你就不會去浪費步數取你根本取不到的牌。

奇數時候:

肯定有一方要多拿一張牌,那麼誰拿走這張牌就由這張牌的大小順序決定,(如果偶數的摞都取完了,取奇數的話,按照小俞先的順序,那麼這張中間的牌肯定是小俞拿,那麼小俞肯定先拿這摞牌,來獲取大的分數,然後中間這張就是你的了)。

所以先按順序取所有的摞(除了中間的奇數摞的中間牌),把所有的中間牌,排一遍序,順序取就可以了。

g題:

大數減法。。。。。

注意:1.第乙個數需要特別注意

2.不要有多餘的0

3.結果是0的時候別忘了

h題:

唯一一道英格力士題。

看懂題意,其實就是找是否有乙個2*2的地區是有3個以上同樣顏色的塊。

iq = 英文能力

ACM暑假集訓總結(2023年夏)

這篇總結本來是打算暑假集訓結束後,uva上刷夠300題,給這一路留個紀念,可最後竟然給了自己個大耳光 298。hehe。既然打算寫了,那該幹的就得幹。乙個耳光沒打夠,那這篇總結就以打自己耳光為主題好了,寫寫這個暑假集訓發現的問題和我現在計畫中的調整方法。接下來的半個周,根本靜不下心刷題,也可能是乙個...

2014暑假留校學習計畫

一 acm集訓。分專題訓練,結合小康學長的模板以及之前學長學姐學姐們講課用的課件,各個專題逐個攻破,具體的是哪些專題並且要用多少天來學習,明天再具體列出來,而且不能只看理論,要在做題中學習演算法 學習時間為上午的時間以及下午的一段時間 對於acm集訓這一塊今天有了乙個大致的方向。我們組 xexagr...

走過的路 2014暑假

其實,這個暑假很充實,很開心。其實,暑假前我就做好了戰鬥的準備,因為我提前一天來了,呵呵。因為有了目標,所以勇往直前。2014 7 25至2014 7 31 學習三層,雖然只敲了一條登入。我很慶幸這個階段的三層,看了好多師姐 師哥的部落格,也了解了七層。原理上七層和三層一樣,但是對於初學者來說,乙個...