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