高一想自學參加noip及後續的noi需要用到哪些書?

零基礎,語言選擇C++

希望參加過的知友能結合實際經驗按閱讀先後順序推薦,謝謝


根據題主說,他是0基礎。大家推薦演算法經典書現在幾乎沒用。

Level 1

先學明白如何編程C++

Level 2

然後可以隨便找個ACM online judge 網站(比如zju的 pku的)刷水題(網上有題目分類,一般叫SB題,或者基礎題或者練手題等)刷夠100道了,先把編程真的當成「語言」來說。這個時候你就算不懂什麼演算法也有語言駕馭能力了。經典的8皇后漢諾塔這種遞歸題也要理解並且能寫明白不出錯。

Level 3

然後看看 深度優先搜索、 廣度優先搜索、貪心、動態規劃等演算法,一般也有題目分類,每樣都刷若干題。 演算法競賽入門經典就挺好。

Level 4

如果你活在強省, 你可以考慮各位推薦的黑書 《演算法藝術與信息學競賽》繼續提高。 而且不要放棄刷題, 你掌握複雜演算法的能力和你的複雜編程的能力(快准狠)要同步提高,不然碰到你會做的題自己遍不出來就二逼了。

Level 5

後續noi了。。。你都開始給別人推薦書和網站了你還在乎這個題嗎?

對於noip, 總會有level 2這種考編程不考演算法的簡單題,爭取拿100分。 level 3的題有難有簡單,至少保證自己會使用垃圾的演算法 暴力的演算法得到一部分分。 對於level 4嘛,你自己看看你們省歷年的情況,這種題你不會做或者僅僅拿一些特例的分,也許也足夠你拿獎了。不過對於現在noip不保送,noi才有資格的狀況,也許這不能滿足你的需求。不過到了這個程度你都不是零基礎了,也不會不知道該怎麼辦了。

利益關係:資質差,沒讀過什麼演算法書,競賽不牛逼,拿了弱省noip的一等獎並保送,沒做NOI。所以,這條路可以複製。


入門從來都推薦

演算法競賽入門經典 第二版

劉汝佳的


演算法競賽入門經典 演算法導論


《金牌奧賽》


首先要找一個好的Online judge

量變導致質變。只有通過一定數量的科學的練習,能力才能得到提升。

入過是noip的話,強烈推薦洛谷 。根據試煉場裡面的題目一步步學習。其他幾樓提到的SB題就是可以在這裡很方便的找到。

然後買一本劉汝佳的《演算法競賽入門經典》,也是很好的入門書。

自學,可以的。


更新。

黑書出來以後,劉汝佳和周源、周戈林一起出過黑書的學習指南,有相當的深度。但是由於沒有完稿所以沒有出版,pdf可能在網上流傳,據說是佳佳自己流出來的。

當個故事看看吧,我們競賽組自己印了一本,很厚很厚。。。。個人覺得比大白書難。。。有種作業報告的感覺。

我沒有資源。

~~~~~~~~

補充一下王雪竹的答案。

既然提到了「後續的NOI」……入門經典帶你刷過越來越水的NOIP是沒問題的,NOI的話,可能要上大白書(同一個系列的《訓練指南》)。。。

最後就是,如果你是強省(湖南,浙江,四川等)的選手……

那天分比什麼重要……畢竟地球仍在轉動


訓練指南 一本滿足


推薦閱讀:

如果在noip退役怎麼調整心態?
為什麼很多OIer/ACMer不使用vector而使用數組?
NOI獲得金獎/銀獎/銅獎分別需要付出多少努力?
高一9月開始搞oi,在noip2018之前有哪些比賽可以參加?
寫博客對OI有用嗎?

TAG:書籍推薦 | 編程 | 高中 | NOI | NOIP |