1. 程式人生 > >2019年1月9日下午刷題對接下來ACM學習計劃的調整

2019年1月9日下午刷題對接下來ACM學習計劃的調整

我的調整:

列印洛谷題解指望平時坐在自習教室裡硬看沒什麼太大意義,列印某一場CFdiv2或者div3的題解,然後某天晚自習花兩個小時看一下比較好,這是之前試過的,以後要看題就自己到電腦上來寫,寫完再看
現在不太會寫的題其實分為兩類:

1.語法題

這個是要熟練記憶的基礎題,不能崩盤,今天寫的那道小書童題就是這樣(不過發現了一個奇淫巧技,這個應該就是傳說中的打表?不過…26個字母也打表,唉)

2.思路題

(就是自己還有能力實現的問題),改一下思路可以靠自己AC的,那麼先寫,然後看別人的題解用了什麼好方法(光看什麼好方法沒用,下次要會用,會用同樣好的思路去分析)

3.演算法/資料結構題

因為到後期都是會有題目的分類,所以通常每道題都是有一定的演算法,是需要提前學習,臨時想不到的。
這種問題,我建議是先把這些專題裡代表的東西是什麼 ,簡單搞懂一遍,同時還是要憑自己的能力去專刷一下那些板塊(難度循序漸進)

比如說這幾天先專門搞一搞搜尋(事實上我現在的能力也只能搞dfs、bfs、圖的遍歷、揹包什麼的)…

但是那些什麼並查集之類的問題,自己也要先搞明白大概是個啥,不然的話,打比賽的話沒辦法補題,會超過能力範圍太多

4.最後,學會堅持和放棄

堅持把已經理解的,能力範圍以內的東西,自己能保證又快又準地敲出來
放棄那些太難的,你一上來就紅黑樹?能行嗎,你開啟紅黑樹的頁面,發現裡面寫著平衡二叉樹,開啟平衡二叉樹,發現裡面出現完全二叉樹,這些名字不是重點,重點是它們背後包含的應用和邏輯,你真的搞懂了嗎?你沒有搞懂,就沒辦法一直一直往下刷了。所以,適可而止,但是要有鑽研精神。不是永遠放棄它們,而是我相信你總有一天能夠做到。
要有耐心

5.看魚頭的書也應該配合電腦食用

不然其實沒什麼意義的…(其實今天實現起來感覺還是很困難),所以還是先從洛谷開始吧,題目還不錯,然後看別人的部落格的時候,把經典的問題過一遍。說實話,《挑戰程式設計》那本書,本來看著特別爽,但是,看著看著,發現有的東西自己啃程式碼要啃大半天但是一點都不會用,其實效率應該是比較低的,所以呢,這些東西就是配合著食用的,那天那個學姐關於01揹包的部落格寫的真好,我可以從她的github上面先搞懂幾個問題。

PS

魚頭說把他的書裡的題自己寫,但是我翻到第二章就用了大量關於資料結構的語法,我暫時還沒掌握,所以要想想怎麼樣才可以很快的寫出來那些佇列,棧,堆之類的東西。
因為每個棧or堆or表,它其實是有自己的(套路)的,也就是說,每次用它們實現問題的時候,都要考慮使用STL時它的哪個函式可以幫我快速實現這個問題,我把鍵和值輸入map裡面,看來等會可以少一些操作,直接排序和訪問了,真好,大概就是這個思路,目前對那些容器,資料結構有一點點感性上的認識了,現在需要找一些合適的題目,把它們自己用程式碼實現出來。

6.回想一下自己關於搜尋和01揹包的學習歷程吧
1.看啊哈演算法

(看了好幾遍,之前忘光了),還抄了好幾遍,自己寫了棋盤問題(至今還未AC),把dfs是什麼勉強搞懂了

2.寫棋盤問題,

思路是對的,但是…還沒寫出來,唉我真的太菜了;事實證明把書上的東西看很多遍是沒用的,一定要自己寫啊

3.01揹包

當時是先查詢動態規劃的意義,發現了貪心演算法,然後點進了那個學姐的部落格園,看到她介紹了關於01揹包的問題,然後把那個基礎公式記了下來,今天點開了kuangbin的部落格園,看到了他寫的很簡單的HDU飯卡的那題,我是直接排序然後減的,目前實現起來老是WA,感覺他的程式碼套用了板子,以後是要用的,而且蘊含了很多思想,然後即將學習自己怎麼用板子去解其他題(還沒開始學習)

以後就像1月9日下午這樣:刷洛谷,看kuangbin,偶爾看一看CF的題解,準備div2或者3的比賽。

主要是把幾個覺得特別能消化的東西好好看看,不要亂看,看多了就不太好了。

可以是怎麼樣呢,就是先熟練某幾個專題,模組。

然後定期參加比賽的時候,把還沒涉及到的比較難的題帶著別人的解釋和題解和各種學習資料過一遍,整理個板子,下次能套就套,不能就算了。

暫時還不在能力範圍內的可以耐心一點,不要心急。

但是比賽是一定要參加的喲。盡力而為,寫不下去就看看題,回頭看題解,反正要時刻觀察自己是否在恐慌區或者舒適區裡,儘快過渡到學習區。






我現在正在思考,翻開魚頭的那本書,為啥一看到那個資料結構,那一大片程式碼我就看不下去了

首先:

缺乏之前一些簡單板塊的理解用來過渡,

其次

對那些語法有一點點陌生,對那個資料結構的概念本來就不熟悉

解決方案:

找別人的csdn文章來啃,找現在能找到的所有理解範圍內的文章去啃,然後看一些小的片段,最後看那一長串,不過這些還是用電腦實現比較方便。