2024集訓第一週總結

gevenfeng發表於2024-10-13

集訓第一週總結

感覺出現了很多的問題,現在來總結一下。

先對這五天的來分別概述一下情況。

\(2024.10.5\)\(T2\) 卡了題,後面的也不會。\(T2\) 是加強版的第 \(K\) 大子集問題,感覺對這種求第 \(K\) 大的東西不是很擅長,想了半天也沒整清楚怎麼樣才可以高效地、不重不漏地按大小順序遍歷到所有方案。\(T3\) 雖然知道肯定要結合一點貪心,但是根本不會處理交換,聽了講評才發現交換條件可以透過對價格排序,然後分兩種情況來考慮。\(T4\) 沒有挖掘到性質,導致根本找不到切入點,腦子又抽了,本來可以 \(O(n^2)\) 的打了個 \(O(n^2 \log n)\) 的東西(還好和 \(O(n^2)\) 一個分)。最後正解用線段樹維護一下就行了。

\(2024.10.6\) \(T1\) 想了一個小時,寫了一個小時(總共寫了三遍,前兩遍不知道為什麼寫錯了),發現時間複雜度最壞是 \(O(n^2)\) 的,而且還用了指標,常數大到爆,感覺過不了,但是應該能拿很多分(最終結果 \(98pts\))。這兩個小時中途還看了一下第二題,沒什麼思路,寫完 \(T1\) 就想著把 \(T2\) 的最大代價寫了,結果方法錯了,樣例都過不了(其實那個方法也不是不行,好像是最後沒取模),本來想過差分的,但是沒看出交叉 \(\leq\) 包含的性質(這麼顯然都看不出來),所以還是沒做出來,事實證明最小代價的正解就是差分。\(T3\) 感覺是 \(DP\),但是覺得去重沒想出來,而且感覺上還很難寫,就沒做,最終做法是將不同的劃分方法用十種情況表示,算出不去重的方案,再考慮使用容斥去重(把輪廓線重疊在一起),這樣就可以正確統計方案。\(T4\) 仙人掌看著就不好寫,直接放棄,正解是把仙人掌變成圓方樹,然後樹邊和環邊分別考慮就行。

\(2024.10.8\) \(T1\) 做過類似的題,直接秒了。\(T2\) 已經想到快速排序了,但是實在不會處理塊內如何劃分,最後就是把 \(\leq mid\) 的和 \(> mid\) 的分別設為 \(0,1\),然後以一個 \(0/1\) 連通塊為間隔進行操作就可以每塊以 \(O(\log_3 n)\) 的次數完成劃分,最後層內可以打包統一處理,這樣次數是 \(O(\log_2 n \log_3 n)\) 的。\(T3\) 只會狀壓,正解是價值從大到小排序,然後一定存在一個閾值,滿足閾值之前的抽到就結束,閾值之後的扔掉繼續抽。直接列舉閾值 \(DP\),並結合上一些決策單調性,可以做到每次查詢 \(O(n)\)\(T4\) 根本沒想到可以對每層的聯通情況進行差分。

\(2024.10.10\) 前兩題太水了,\(1 \operatorname{h} 20 \min\) 就做完了。\(T3\) 忘記了錯排問題是怎麼做的了,只會狀壓(怎麼又是隻會狀壓),最終可以轉化到一個圖上使用容斥,對於 \(a_i\)\(b_i\) 連邊,對於每條邊要麼不選,要麼選一個端點。\(T4\) 沒想到可以直接判定一個人是否能贏,就只寫了搜尋。

\(2024.10.12\) \(T1\) 感覺有點思維定式了,看到資料範圍比較小就想容斥,最後做了兩個小時也沒做出來,其實這種數位與數位之間沒什麼關係的可以數位 \(DP\),而且之前還做過這種題,只能說知識點掌握得還不夠好。\(T2\) 沒分析出什麼東西,只寫了搜尋,正解是考慮每個數對最終答案的貢獻/係數,肯定是比較大的係數為正,後面的係數為負,然後其實 \(K\) 的係數只和正負係數的個數有關(考慮把合併的情況看成一顆二叉樹),和 \(K\) 本身無關,最後求答案可以三分或者考慮一些斜率相關的東西。\(T3\) 沒想出來樹怎麼構造,感覺構造能力還是不行。正解先考慮樹,對於 \(n\) 分奇偶性,然後對於圖只需要找後面那些邊的生成樹,前面的全選即可,還是比較巧妙。\(T4\) 領域查詢沒見過相關的技巧,就打了 \(20pts\)(本來應該可以 \(40pts\) 的,但是沒時間了),正解是考慮結合一下 \(DFS\) 序和 \(BFS\) 序,把 \(DFS\) 上的自己變成自己的所有 \(\leq K\) 級的兒子,這樣就好做很多。

整體上能總結出以下一些優點:

  • 時間分配較之前還是合理了一些,不會整場比賽死磕一道題
  • 一般程式碼不會寫掛
  • 沒有掛一分(這個是真的)

(好像優點就這麼多)

當然還是缺點居多:

  • 思維還是最大的痛點,不夠開闊,總是隻能做出自己見過的東西,沒見過的幾乎想不出來(貌似來到這邊後離線比賽就只做出來過一次構造題,而且還是三四月份的時候)。感覺做思維題還是要大膽一點,總是侷限在某幾種思路,最好是每種可能的方向都試一下,有時候實在不行還可以打表,說不定能發現一些規律,找到特殊的構造方法
  • 知識點掌握得不夠牢固,一個東西學的時間久了容易忘。還是要溫習一下之前學過的東西,不能學一個知識就丟掉另外一個
  • 挖掘性質幾乎總是隻能挖掘到最淺的東西,更深層次的老是看不出來。這個應該和思維直接掛鉤,所以主要還是提升思維能力
  • 套路見的不夠多,一些比較經典的問題根本找不到切入點(不過現在學套路也來不及了)
  • \(DP\) 能力還是很弱,總是隻會搜尋/暴力 \(DP\),需要結合轉化、需要挖掘性質的 \(DP\) 題一般都做不出來。所以 \(DP\) 還是要多練題,同時提升自己的思維才能取得突破

希望能夠繼續保持自己的優點,並改進自己的缺點,在 \(CSP\) 的時候全力發揮,不要為出現不該犯的錯而留遺憾,不然這一個賽季就又玩兒完了。