發(fā)布時間:2022-12-18 22:59:41
編輯:范范來源:犀牛國際教育中心瀏覽:次
前兩天一位家長找到我,說他的孩子之前學習過一點算法,最近通過USACO Training在刷題,想問我通過這樣的刷題,是否能夠通過USACO競賽?
于是,我給他出了幾道基礎的銅牌組的題目,通過這些題目測試下他的水平。誰知道不到半個小時,家長就把這幾道題目的答案全部發(fā)給我了,檢查下來,竟然全部都正確。我立刻和這位家長交流,想了解下這位學生是如何刷題的,為何效果會這么好?家長也很熱心的拉了一個群,學生在群里介紹了他平時刷題的方法,這套方法也是他在一位算法專家的博客上看到,并記錄下來的。
先分析題目,再寫代碼,代碼編寫的時間不超過50%
USACO 的競賽題,重點并不是編碼,它主要還是考察學生應用算法思考問題的能力,所以在真正編碼以前,需要把問題分析清楚,如果把問題思考清楚了,編碼的時間是不會太長的,一般把編碼的時間控制在一道題目總完成時間的50% 。
冥思苦想很多天,再去查看別人的題解
刷題的過程中,總會碰到很多題目是自己暫時不那么容易做出來的,這類題目恰恰是最適合你的,碰到這種題目,可以認真思考一下,當你全部吸收和理解了這種題目后,你的能力就提升了。但大部分學生碰到這種題目,習慣性的就會去看一下題解,然后就自以為懂了,但這種“懂”往往是假象。只有真的認真思考過,把自己能夠想到的所有路徑都嘗試過,這個時候再去看題解,你才更容易收獲一種新思路。
重點學習算法原理,嘗試一題多解 和舉一反三
記得之前和國內信息學名校(南京外國語)的計算機老師交流過,我問他們學校為何能夠培養(yǎng)出那么多代表國家參加世界競賽的選手,他總結說,也許他們學校更重視培養(yǎng)學生的一題多解能力。算法本來就是在訓練思維的,常常從不同角度來解答一道題目,會更加拓寬學生的思維方式,碰到真正的難題時,學生更有可能從多個維度進行思考解答,從而最終給出答案。
注重刷題的質量,數量不是第一位的
刷題的核心是重質不重量,刷題中最適合你的,其實是那些比你當前的水平高一點的題目,這就是所謂的 “i+1” 理論,通過認真做對這些題目,能力就能穩(wěn)步提升。所以題目的質量很重要,題目是否適合你當前的水平,這也是一個很重要的考量因素。
這位學生當時選擇USACO Training,就是因為這套題目是按照從易到難的順序介紹了USACO 的知識點,并通過題目的形式,讓學生在實際動手中掌握這些知識點。不過,在刷題的過程中,他也碰到了一些問題,所以才希望尋找老師的幫助:
USACO Training中雖然也有知識點介紹,但介紹的并不詳細
USACO Training 中每一章的開頭都有本章知識點的文本介紹,但這些介紹并不夠全面,如果想進一步深入這些知識點,可以考慮通過網上資源和書本資源,搜集更多相關資料信息進行學習查看。
Training中的題目沒有正確提交前,是無法看到答案的,有些題目實在不會做,就會一直這么卡著無法過去,這時候會比較郁悶
USACO Training的訓練模式,就是希望能夠通過做題來達到知識點的掌握,所以在題目正式解答出來以前,是看不到題解信息的,如果經過了幾天的思考,學生實在是無法解答當前題目,可以在百度上搜索題目信息,一般都能找到對應的解答方法。
題目并不完全按照USACO等級設定,針對于每一種算法的題目數量也不夠
USACO Training 中的算法是按照從易到難的順序進行排序的,其順序基本上符合各級別競賽對算法的要求,但也不是完全對應的,對于直接刷Training 算法的學生,往往并不了解針對自己的級別應該刷到哪里合適。另外,針對每種算法,Training 中的題目數量也不夠,學生可能無法僅僅通過幾道題目就徹底掌握算法。
所以總的來說,對于自學能力強的學生,刷USACO Training 是一個比較好的學習方式,碰到不會的知識點的時候,配合找一些對應的知識點視頻進行學習,并且輔助以更多的一些練習題目。如果平時時間比較少,希望能夠更高效的進行學習,還是找一位老師輔導會更好,在老師講解的情況下,再配合刷題練習,進步一定是非??捎^的。
最后,給大家介紹一下USACO Training的網址,注冊后即可開始做題:
https://train.usaco.org
AP03-08
IBDP03-07
小托福04-03
美國留學04-05
微信咨詢