2024 10.5&10.6模擬賽總結
一句話總結:打的稀爛。
10.6
\(T1\) 沒什麼好說的。
\(T2\) 是我不喜歡的型別。首先看到前 \(K\) 大馬上就想到了二分和堆,但是想了半天也不知道堆怎麼由一種狀態推廣到多種狀態,並且要不重不漏、效率高,二分也沒想出來怎麼 \(check\)。賽後聽了評講才發現堆可以記錄一個三元組 \((l,x,r)\) 分別表示左邊的第一個 \(1\)、上一步操作位置、右邊的第一個 \(1\),然後就可以由一種狀態推到兩種狀態。二分也可以直接進行 \(DFS\),搜到大於等於 \(mid\) 的就直接方案加一,否則就直接返回,由於每次都能擴充套件出新的狀態,所以時間複雜度也是對的。考試的時候就是卡在這裡了,導致最後一分沒得。
\(T3\) 看了一下,不會處理交換,暴力肯定會 \(TLE\),遂沒看多久就放棄了。正解有點貪心的思想,先按價格排序,然後用前面價格小的去替換後面口感值打的,然後分討一下再跑個揹包就行了。對於與貪心相關的東西還是有點無能為力,總是想不到怎麼貪。
\(T4\) 沒想到 \(O(n^2 \log_2 n)\) 能得到 \(O(n^2)\) 的 \(45\) 分。正解其實就是推出一個性質:如果兩個序列都選,則必定至少有一個選擇區間的權值和大於其整個序列權值和的一半,就是要經過那個序列的帶權中點,然後就維護一下每個數所能取到的最大左端點、最小右端點,上一棵線段樹維護一下就行了。主要是沒有發現性質,導致也想不出來後面的步驟。
總結
對於一些套路的掌握能力(\(T2\))還不夠,還需要繼續多做相關的題目。貪心相關還是很不行,可能是因為我的思維能力差,看來還是要注重提升自己的思維能力。性質總是推敲不出來,可能需要分配更多的時間給這種題,再加上一些深層次的思考。
10.7
\(T1\) 差點把我搞死。馬上就想到了二維 \(DP\),但是由於腦子比較混亂就一直推不出來,還推了一些奇怪的轉移。最後好歹還是推出來了,寫出了 \(O(n^3)\) 的做法,但是不知道怎麼了,寫 \(O(n^2)\) 的最佳化時老是寫錯,最後重構了三遍才寫對,也不知道之前是哪裡寫錯了。而且由於做法常數太大(沒有除以 \(3\))而導致被卡常(\(98 pts\))。
\(T2\) 馬上就知道是貪心,但是不知道最小值怎麼搞。感覺最大值的求法比較顯然,然後就寫了一個我也不知道是什麼東西的做法(反正既不是單調棧也不是笛卡爾樹),最後過不了樣例,評測喜提 \(0pts\)。正解比較神奇,先把它轉化成差分序列,然後就變成了在上面選一個數加一,選一個數減一(其實我想到了,但是沒想到後面怎麼做)。由於平方相加交叉小於等於包含,所以直接用離自己最遠的負數和自己這個整數操作就行了,時間複雜度線性。
\(T3\) 看著就是一個難寫的東西,看了一眼就沒看了(理解題意還花了一些時間)。正解肯定是 \(DP\),因為涉及對一個大模數取模。直接對於以一個點為左上角的橫豎方案進行 \(DP\),但是這樣可能有狀態之間互相重疊的情況,會算重,所以容斥一下就行了(手玩係數)。
\(T4\) 就是一個比較板的仙人掌,感覺會很難寫就沒怎麼想。可以先建一棵 \(Block-Cut \space Tree\) 或者圓方樹,然後對於每一條樹邊/環邊分討一下這條邊帶來的變化量就行了。可能對於學過的人來說就是純純碼農題。
總結
計數 \(DP\) 總是要想很久(包括9.25的 \(NOIP\) 模擬賽也是),感覺還是不太熟練,還是要多做題增加熟練度。貪心是真的不行,連著兩場考試都沒做出來,說明思維還有很大的提升空間,而且想象力可能還不夠,猜結論(但是前提還是要經過一些推導)能力很弱。網格圖上的問題一直不擅長,甚至有點恐懼,還是要多練題才行。