大一學生如何系統學習演算法,以備ACM競賽?

時間 2021-05-07 09:21:40

1樓:

2023年的今天我想說,如果是對這東西很感興趣想試一試,那就按照幾位大佬的回答老老實實準備(準備的過程中要多找人交流學習),如果抱著必須拿獎的心,那我勸你省省吧,如果你是完全的零基礎,在很強的學校,你連校賽都打不出去的,如果很弱的學校那更沒希望拿獎,不過你說你的學校撐死省銀,你倒是可以試一試,現在大學裡遍地都是oier,甚至計算機以外的專業都有不少,ACM賽幾乎成了oi人的高階賽了,大一零基礎小白想從老油條們的手裡分塊肉實在是太難了

2樓:NE.nervendings

上面是題外話,

其他的先可以放一放(dp,最短路,並查集,線段樹之類的)

3.註冊codeforces賬號,打幾場cf,練習實戰能力,最好能上藍名(1600分)

至少也要穩定在1500分左右,這是個人能力的基礎

能穩定藍名,說明題目分析,複雜度分析,基礎演算法和思維能力都有點底力.

4.再下面,這個時候就很自由了,想學啥就學啥,看自己的喜好,

有某方面特長的,又有一定基礎實力(CF藍/紫)的人,組隊是很吃香的

這裡推薦選擇資料結構+圖論或者動態規劃+數論這兩種組合拳裡面的至少乙個進行專精,

然後找自己互補的隊友即可,不要找太弱的,縱容實力低的隊友,最後只會後悔

5.組好隊伍之後,盡量達到如下情況:

1.隊內平均的cf分數達到1600以上(即上面說的基礎演算法都比較熟悉)

2.整個隊伍掌握如下演算法:

(掌握指的是能靈活變形,運用,不是有板子就行)

(優先順序從高到低,至少cover前四項裡高階前的內容,基礎演算法不算入內)

1).基礎的資料結構(樹狀陣列和線段樹的各種操作,帶權並查集等,高階:莫隊,樹鏈剖分,主席樹等)

2).基礎動態規劃(至少學了揹包,DAG,記憶化搜尋,線性DP,高階:,樹上DP,狀壓,區間,數字等)

3).基礎圖論(最短路,生成樹,二分圖匹配,圖的遍歷等,高階:網路流,強連通分量,樹分治,熟悉各種圖的形態特徵等)

4).基礎計算幾何(直線,圓,向量等,高階:凸包,三維幾何,旋轉卡殼,半平面交等)

5).基礎數學(唯一分解定律,線性篩,逆元,組合數學等,高階:矩陣快速冪,反演,擴歐,CRT等)

6).基礎字串演算法(字串雜湊,字典樹,kmp,高階:自動機,字尾演算法等)

7).基礎的博弈演算法(幾種基礎博弈,SG函式)

以我校的經驗來看,

第五步裡,第一條基本滿足,且第二條能掌握7個方面所有高階前的內容(指整個隊伍)

而區域賽穩銅牌之後,銀牌的演算法就太多了,大一不必過多追求,打好基礎是最重要的。

在校大學生如何系統學習寫作

tomnattle 自己的生活只有自己才能寫得真實,我幫你找了篇范文,你參考一下別人是如何描述自己生活的,不建議抄。紅,是火的顏色 藍,是天的象徵。我不學晚霞模擬火的紅,也不學大海抄襲天的藍。我就是我,活出自己的本色。生活是我的,大地是我的,人生也是我的,我的生活自己掌握,我的人生自己創造,展現出自...

非美術專業大學生如何系統學習美術?

什麼都不是 兩歲起就開始學畫,你應該已經有一定的技巧和辨識能力啦。速寫當然要買書啦,你去畫室老師也會讓你臨摹某些書的,一點點從區域性到整體,你有基礎很快就能脫離臨摹去寫生啦。不要陷入傳統的藝考培訓思維,其實練習畫畫就是乙個一點點表達自我的過程,從畫出你想畫的到畫好你想畫的,當然這個過程可能要經歷很久...

非物理專業大學生如何從0到有,系統學習理論物理

zhou 先搞定數學,再學理論物理。數學不用太難,會用就好。網上那些mathematical physics的書看了個大概就可以。不用硬要學什麼淑芬,高代。然後就是四大力學。理論力學用Taylor或者Morin,然後Griffiths的電動力學和量子力學,kardar的統計力學或者李政道的統計力學。...