2024暑假總結3

Nekopedia發表於2024-08-18

前言

因為現在我開始每天寫隨筆,所以總結裡就不贅述每天的具體的內容和每天的小總結了,因為會給人一種重複感,所以我決定在總結中主要分析我認為非常有價值的地方。

考試

我認為考試能反映出一個人的很多問題。

然後談一談8.11的考試。總體來說,題應該不算太難,T1 是一個思考難度不大的計數題,T2 是 \(O(n^2)\) 的 dp,T3 是構造,T4 是資料結構。

先說我的考試經歷。拿到題面後通讀四道題,並且每道題都想了一下大致演算法,最後決定順序開題。然後這次考試的敗筆就是我沒有驗證演算法正確性,轉化題意後應該是求存在出現次數為奇數次的數的區間個數。我得出的結論是最小的數出現次數為奇數的區間個數,然後就把樹上的邊按邊權從小到大加進去,每次合併連通塊,用並查集維護。寫了接近 100 行,寫完時是 9:20 左右,測樣例發現不過,竟然沒有先懷疑演算法正確性而是去檢查程式碼是否有誤。最後確認程式碼無誤,然後重新去想才發現正確的方向。當時已經過了 9:30,相當於我比別人白白少了快一個小時,內心就開始慌,想了十分鐘 T1 正解沒想出來就怕耽誤太久去看 T2 了。

T2 有一個一眼的 \(O(nk)\) 的暴力 DP,然後我就想最佳化狀態,根據資料範圍能夠猜出是 \(O(n^2)\) 於是就使勁想。想了30分鐘都沒什麼思路於是就寫了最開始的暴力 DP,然後資料分治,k 很大的時候寫了一個偽貪心。喜劇的是我在單調佇列最佳化 DP 的時候把維護的東西寫漏了一個然後小樣例和一個比較大的樣例都過了,所以賽時沒發現,最後暴力分掛了一半。

T3 構造害怕想很久就先去想 T4。然後 T4 看到區間平移就想到了 fhq treap 的分裂合併操作。我感覺很對,就進一步思考應該去維護一些什麼東西。能夠迅速想到的是最大值最小值,但是我明顯感覺只維護兩個資訊無法做出,但是更多需要維護的我又實在想不出,可能是當時太緊張了,又加上我害怕最後寫很久平衡樹還寫錯又要調很久最後打了暴力。

最後發現剩餘時間不太多,感覺 T1 應該比 T3 更好想,於是去衝 T1。首先我想到可以點分治,然後很久沒寫最近也沒講所以就換思路。因為區間需要滿足存在一個數出現次數為奇數次馬上就想到了異或和,但是當時心態沒穩住,所以我連將 \((u,v)\) 的路徑異或和轉化為 \((u,root)\)\((v,root)\) 之間的異或和都沒想到。當我大概想到如何做時,時間只剩十多分鐘了,最後沒有寫出來。

最後得分不出意外接近墊底。雖然我覺得沒什麼,但是我覺得我完全可以做 T1、T3 拿至少兩百分的。T1 在賽後就想起了去年遇到過極其類似的題目兩次,而且當時我都做出來了的;T3 的構造真的就是大家都能比較接近正解,然後我在認真分析題後認為難度大概在 CF 的 T3,完全屬於我能力範圍內的題。但是結果就只有 67 分,所以我應該好好思考一下考試的東西。

首先就有及時驗證演算法正確性!然後我覺得我的心態還是不太好,可能是去年提高組複賽那次給我幹出較深的心理陰影,還是有些難以釋懷。再者我認為我的初中生活浪費了很多時間,現在有很深的罪惡感。我覺得現在還是得穩住我自己的心態,多向前看吧,也還要多調整一下。

第二點是在取捨方面我做的不夠好。在決定開題順序時還應該再精細一點,比如這次就還是應該先開構造題,然後再是 DP 或者計數,最後是資料結構。以後考試我應該多多注意題目考察演算法本身的難易程度,而不是題目的位置。這點非常重要!

然後其實這場考試說明我個人綜合能力還很弱,至少沒有去年這個時候強。說明這段時間思考深度還不夠,還應該加深。然後就是下午做題要做到不看題解、不看 PPT 答案(後面這幾天做到),寧願寫不出來反覆改幾遍,但最好還是要先理清思路一遍過。做題的時候要有自己的東西,多去質疑,然後理解才能有提升。

講課

詳細的內容我就不贅述了,因為我都寫在最近的隨筆裡面。這裡就大概講一下我對知識的掌握情況。

8.12 講的除了 Hall 定理的運用還有困難(當然很難的知識我準備暫放),其他(二分圖網路流相關)全部非常熟練,我對此很有信心。

字串把 KMP 和 trie 給用熟了,自動機也沒什麼太大問題,運用不熟練後面慢慢來;字尾相關的我沒有去碰,因為我認為很長一段時間我都不會用得到,或者說見到需要用的題去用 exKMP 或者 hash 代替。學長講的字尾陣列聽懂了,因為之前有基礎,字尾樹、字尾自動機不懂因為忘得太多講課時跟不上。

莫反全聽懂,篩法除了 \(\text{Min\_25}\) 篩全懂了,當然它板子就是黑可見難度很高,所以暫放。杜教篩是當時沒太聽懂某一步化簡,而且沒太懂一個東西(具體是啥忘了),所以寫不來,之後只是重看了推導過程就全懂了,應用對我來說也簡單,因為之前對莫反有關很感興趣所以之前弄得相對多一點。

最後就是博弈論,SG 函式非常神奇,我只能說能懂但不多,整體掌握了 70% 左右吧?(霧;當然後面 SG 的變式就不太懂了。前面全聽懂,後面懂得不多所以是 70% 左右。

刷題

每天下午我都是以複習課件為主,不太在乎做題數(雖然好像在機房中經常是題做的最多的)。我是複習了知識就理解著默寫寫板子然後對應做一到兩道題,但是進度就不算快,別人在複習後面的內容而我還在前面閒逛(?)但我覺得我更應該夯實基礎。畢竟我也跟了七高四年了,之前初中的時候比較浮躁,喜歡打遊戲還有些好高騖遠,就喜歡那些靠後點的東西,所以導致想出題目思路不會實現。現在大了懂事了就不會亂整了,就單純想著我先一點一點慢慢搞。反正我準備把現在講的內容中難度沒有太靠近天花板的全部熟練掌握其核心,至於應用,後面有的是考試與補題。

其他

最近晚上大多數時間都在搞 OI,有時會預習一下。我覺得預習的確在一定程度上幫助我理解第二天的東西,還是應該堅持。

然後就是每天寫東西確實對我有幫助。每天寫總結前半部分能夠幫助我回憶當日所學知識,後面總結一點經驗教訓、優缺點。我常在睡前寫隨筆,且寫隨筆時常聽音樂,整個狀態挺放鬆的。寫這些東西我能看清前方的路,也能知道我該如何去走、以何種方式去走。而且每天寫,就能慢慢去發現你有更多可以去寫的內容,當然適當取捨。還有就是寫東西提升了我的打字速度,我能夠明顯感覺到。例子就是一道博弈論的題,我在想好做法後只花了 5 分鐘就寫完了,而且敲程式碼的準其確度略微提升,這都算進步。

不足

人懶!有時上午不太想去跑步。貪玩!下午每次都想多大幾分鐘的球。其實我不用對自己太嚴苛,但是有時候真的不能太懶。而且感覺我有畏難情緒,雖然人人都喜歡呆在舒適的環境,但只有肯吃苦、敢挑戰才能有所突破,我也應該嘗試每天多做一點事,還是要少頹一下。

晚上回家會看手機,我認為還是要剋制一下,少浪費一些時間。以後要注意。

上課時還是要積極與學長互動(但如果實在不行還是算了),至少要緊跟學長的課堂,就算難也要做好筆記,要清楚知道自己哪裡不會,不要害羞不敢問問題。

可能有時候會說一點話。我要注意不能影響他人,還要把音量降低,還有就是不必要的別說!但是順便吐槽一句,感覺他們都好吵啊()有時候講課甚至也會說話,下午真的不想評價了,只能說對這類行為比較反感,覺得不懂規矩。但是我又不太好直接說出口,也不想花時間去思考如何委婉地說出口,處境有點尷尬。

最後機房人都挺好的,該幹啥幹啥,也沒有人破壞學習風氣,就是大家都需要戒驕戒躁

最後

因為已經有一段時間沒有寫學習筆記,加上之前決定寫字串(因為我之前字串是短板)(雖然現在補上來了)所以我決定下午寫一篇字串的(部落格)。