昨天打了一場cf,b題乙個模擬花了很長時間才做出來。所有直接就翻車了,通過最近的幾次比賽,也暴露了很多的問題:好幾次做題時,我的整體思路是沒有錯的,但總是因為漏掉了或沒考慮到各種各樣的小細節導致題目就是ac不了。這一點是我以後要注意加強的(不過如何加強這一方面的水平我還沒想清楚)。
除此之外,我還想說說我最近做題的乙個心得體會:有不少的題目都有一種類似的做題流程。第一步:想出其暴力做法(乙個需要o(n)複雜度的題目,o(n2)的做法一般是比較好想的)。第二步:看看內層的迴圈完成的是什麼操作,有沒有**是可以進行優化的。最後將其優化到o(n)或者o(nlogn)。
舉個簡單的例子:c. array destruction這個題目內層迴圈需要完成的操作是:找出最大值 和 查詢乙個數是否在集合中,為了快速的完成這兩個操作,我們可以用set來維護乙個集合,這樣就可以在o(logn)的複雜度內完成上面的兩個操作,而總的複雜度也從o(n2)優化到了o(n)。
根據我最近做的cf題來看,這種題目非常的多,都是先想乙個暴力做法,再對於其完成的操作進行優化。這種優化有時是用資料結構完成的,有時是基於貪心等演算法,有時是基於操作本身的邏輯(比如:乙個操作相比於前面的操作其實只是修改了相鄰的一兩個值)。
這樣的題目還有很多:c. longest ****** cycle、c. fence painting、b. hills and valleys等等等等。
1月26日訓練日記
今天發現乙個有意思的題 微生物增殖 假設有兩種微生物 x 和 y x出生後每隔3分鐘 一次 數目加倍 y出生後每隔2分鐘 一次 數目加倍 乙個新出生的x,半分鐘之後吃掉1個y,並且,從此開始,每隔1分鐘吃1個y。現在已知有新出生的 x 10,y 89,求60分鐘後y的數目。如果x 10,y 90 呢...
2023年8月26日訓練日記
今天我主要是看了neutralzz大佬的有關dp的部落格,看了大概有二三十篇,沒有達到五十篇的要求,進度有點慢了,有很多地方也沒怎麼看懂。今天看過了好多道概率dp和期望dp的題,感覺有一些大體思路能看懂,但是看 就有些地方看不太懂,概率 期望dp用的太普遍了,今天感覺有四分之三的題都是概率dp和期望...
訓練日記 20161024
初賽好像不會掛了,好開心!版權原因,不上傳題目。題意 求1 n n 1000 的排列中逆序對恰好為 k 個的排列數目。多測。題解 f i j 表示前 i 個數,逆序對個數恰好為 j的排列個數,易得轉移方程f i j i 1k 0f i 1 j k 用字首和優化可使複雜度降為o n2 題意 對於乙個長...