BJFU ACM 12月8日月賽官方題解

2022-03-18 14:24:06 字數 1655 閱讀 8002

1. 2.簽到題

int(n / 10)就是a題的解,b題就貪心的每次用最**去找錢。

3.閱讀理解

讀懂英文,前面都沒啥用,就只要知道這種投票的方式。全是奇數,所以處理起來 n/2+1

4.經典遞推公式

dp[n] = dp[n-1] + dp[n-2]*2 對於這個遞推式可以採用構造矩陣倍增得到

1 2 * dp[n-1] = dp[n]

1 0    dp[n-2]    dp[n-1] 矩陣快速冪可以得解

另一種直觀的方式是化簡遞推式得到公式為 dp[n] = 2^n + 2 * ((n & 1ll) ? -1 : 1)

注意超int的處理方式

使用快速冪對int取模,解決。

5.基於貪心策略的消除

題意可以理解為每次用一條訊息消除乙個粉絲,那麼如果有辦法維護乙個集合使得集合內訊息的優秀度都能消掉這個人,就可以在這個集合中找乙個最小整理難度消掉這個人。

這時的貪心策略為按人的期望值和訊息的優秀度從大到小排序,對每個人維護能大於這個人期望值的所有訊息的集合,取最小。

這題的高效做法是小頂堆,當然暴力完全可以過掉。

6.遞迴解決子問題的好題,也可建一棵結點為字串的字典樹,樸素構造方法既解

void solve(int

from, int to, int

pos)

}

7.貪心解決最長連續有人,和最長連續無人。記錄所有區段的左右位置,按左邊排序,乙個個掃瞄維護乙個最長連續有人區間。如果新線段包含在之前連續區間,捨棄;新線段左在連續區間內,右點在連續區間外,就可以延長這個最長連續有人區間的右值,更新有人連續最大值。否則完全在外面,更新維護的區間左右值,更新最長無人區間長度。此題即解。

此題資料範圍較小,否則型別題需考慮是否需要離散化端點。

8.畫a,找到一點規律就可以。這題對格式要求很嚴格。

一種比較方便的做法是在乙個n*2n的空矩陣中對路徑更新為1,按1輸出*,輸出時要注意右側沒有空格,每組樣例中間有空行,最後一組沒有空行。

9.田忌賽馬問題的基礎變形

貪心的策略:

一、當田忌最快的馬比國王最快的馬快時,用田忌最快的馬贏國王最快的馬。 

二、當田忌最快的馬比國王最快的馬慢時,用田忌最慢的馬輸給國王最快的馬。

三、當田忌最快的馬跟國王最快的馬一樣快時,分情況。

1、當田忌最慢的馬比國王最慢的馬快,那麼用田忌最慢的馬贏國王最慢的馬

2、當田忌最慢的馬比國王最慢的馬慢,那麼用田忌最慢的馬輸給國王最快的馬

3、當田忌最慢的馬跟國王最慢的馬相等的時候,用田忌最慢的馬跟國王最快的馬比

按照這個策略就能得到最大勇武。但是這道題嚴格規定了上下界,超過上下界值就為上下界的值。

10.博弈問題 博弈搜尋樹

賽事總結

write by sks

8月12日小結

今天寫的題目比較少,精力基本都用來研究單調佇列,單調棧,借助老師的課件和大神們的部落格,仔細的研究了單調佇列,單調棧的原理,在紙上一步步推算,爭取弄懂每個步驟的原理,一天看下來,單調棧和單調佇列原理是懂了,可是到了做題上,思路卻比較少,不知道怎麼應用,還需要多看點題目,研究一下常見題型,拓寬一下思路...

8月12日訓練日記

今天上午把重點放在了做題上面,上午還是做了一些二分和單調佇列的題目,掌握還是不太紮實,下午的時候重點放在了複習知識點上面,看了一下有關二分的部落格,感覺自己眼光真的狹隘了,有些內容自己還是沒接觸到的,沒了解到的知識還是有很多,眼光不夠寬廣,所以還是需要多看題目。到現在,給我感覺最深的就是二分搜尋的最...

2023年12月8日日誌

這一天沒有做任何有意義的工作,完全停滯。一整天都在為乙個設計人員裝系統,這讓我很沮喪。如果讓我待在自己的電腦旁邊,我會很有成績的做好一大部分工作。可是我今天除了給他安裝作業系統以外,就只是坐著,漫無目的的刷手機,看各種帖子。這種兩種生活展現出來的絕不是自我約束的問題,而是資源錯配。乙個人,放在乙個錯...