8月14日訓練筆記

2021-08-06 05:17:23 字數 799 閱讀 3549

集訓的時光已經過了將近一半多了。說實話,每天都很忙碌。今天又結束了乙個專題,即-單調佇列和二分,說實話我感覺題目還是做的太少,今天做的幾個單調佇列的題目全是前面的變形,即根據前面的題目完全可以做出來這些題目,所以舉一反三還是很重要的,今天簡單的總計一下單調佇列的套路:

單調佇列:佇列中

元素之間的

關係具有

單調性,而且,

隊首和隊尾

都可以進行

出隊操作

,只有隊尾可以進行

入隊操作。最大值或者最小值要在隊首取。

常用操作: •

插入:若新元素從隊尾插入後會

破壞單調性,則

刪除隊尾元素,直到插入後不再破壞單調性為止,再將其插入單調佇列。  •

獲取最優(最大、最小)值:訪問首尾元素。

一般乙個題目可以分為建立乙個遞增佇列,乙個遞減佇列,尋找最大值最小值問題,注意維持佇列的單調性即可。

還有乙個就是讓你求連續的最大的矩形的面積的,這個問題其實只需要記錄它左邊和右邊大於這個數的數量即可,這算是一中dp思想,用單調佇列就是開乙個陣列記錄下標,乙個陣列作為佇列,乙個陣列記錄左邊位置,乙個記錄右邊,其中稍微難理解一點的就是左邊位置是隊尾下表加一,而右邊的時候開始是從n,並且位置是在隊尾下減一。核心**:

int top=0; //隊首

for(int i=1;i<=n;i++) //左邊

top=0;

for(int i=n;i>=1;i--) //右邊,不再解釋,同上。

明天又要開始乙個新的專題,繼續努力。

8月8日訓練筆記

忙碌的一天,今天一天收穫最大的還是對圖論及資料結構知識的複習,感覺收穫還不小。今天下午做了一場練習賽,總體感覺還是一般,還是只是a了兩道最簡單的題目,這也就間接說明了自己和別人差距還是很大的。還有很大的提公升空間,所以還需要繼續努力,不斷向前。今天比賽中有值得總結的地方,就比如拿第一題來說,非常簡單...

8月7日訓練筆記

忙碌的一天,今天一天的重點放在了看課本上面,複習了求最短路徑的方法的一些知識點,然後看了乙個題目,現在最大的問題就是課本上的知識點看懂了,但是一到實際題目中去卻不知如何下手了,這充分反映出來對知識點的掌握不夠透徹,還有乙個就是題目做的太少了,見得題型也太少了,所以看見題目就有點 了,所以還需要多做題...

8月15日訓練筆記

今天印象最深的就是所做的下午比賽題了吧,做了一下午,補了乙個晚上,還有兩個題目沒處理完。今天的題目稍難一點,但其實回過頭來仔細想想,真的難嗎?萬變不離其宗,考察的我們還是最基礎的知識點。先說最後乙個題目,做的時候讀了遍題目看了一遍,開始有點慌,後來還是靜下心來,動手去寫了寫,突然發現了規律,我覺得這...