ACM 入門計劃

來源:互聯網
上載者:User

標籤:

acm

本文由swellspirit貢獻

ACM

• I can accept failure. but I can‘t accept not trying. Life is often compared to a marathon, but I think it is more like being a sprinter; long stretches of hard work punctuated by brief moments in which we are given the opportunity to perform at our best. If someone gets the best of me, I try not to let that happen again.(Jordan)

• “參與”與“不參與”兩個問題:

– 第一:我能獲獎嗎? – 第二:拋開榮譽,從比賽中學到的東西值得我 花費這麼多時間嗎?

• 答案:ref:劉汝佳 • 第一個問題比較複雜,靠個人把握 • 第二個問題答案是肯定的,但前提是要視野開闊, 不要把自己局限在一個狹小的空間之內。大家都 知道,ACM-ICPC競賽要求選手具有一定的理論 知識和實踐能力,而且在編程上要求速度和正確 性,但我認為重要的一點是,ACM-ICPC能夠拍 樣選手實踐能力和洞察力,這相對理論和技術而 言更難培養。

• 往往,競賽題目有著統一的外觀和很強的應用背 景,而非專門為競賽而設計,因此有著對立的體 系和相應的檔案。程式設計語言,資料結構,算 法設計方法,計算理論等內容都是經典的電腦 科學分支,而高等資料、數論、組合數學、機率 論、圖論、組合遊戲論、人工智慧、計算幾何、 電腦圖形學、生物資訊學等內容也常見於各類 競賽中,雖然題目只涉及各學科的一小部分內容, 但是對這些知識的理解和實踐將有助於對學科進 行更全面、深入地理解。任何知識的學習都離不 開三個方面:理論、模型和實現。

• 理論部分相對比較容易把握,但要求學習 時一絲不苟,善於總結,抓住本質,主要 培養選手的洞察力。模型部分比較靈活, 富於創造性和啟發性,不管是模型的建立 還是求解,都需要大量積累和思考,主要 培養選手的創造力。實現部分比較自由, 也是個人風格的體現,很難有一個固定的 標準,但有很多千人經驗和模式可以參考, 主要培養選手的正確性和效率。

• 對於選手來說,ACM-ICPC只是生命中一個 很小的部分,但有心人都可以把這段經曆 變得重要而有價值,準備ACM-ICPC的日子 是一段麻醉期,也是最有激情,最快樂的, 通常在這樣的時期,與志同道合的人建立 的友情也是最可貴的。

• 1、ACM(1-2年級) • 2、項目(3年級) • 4、工作(google or 微軟 or 百度 or QQ or IBM) • 資料結構+演算法 =程式 • 電腦應用技術 or 軟體工程 專業

學習方法

• 1、看書 資料結構 演算法 數學 • 2、做題 PKU ,ZJU,論壇,解題報告 • 3、結合

3.初學者如何進行修鍊

• 推薦兩個網站

– ace.delos.com/usacogate(USACO)

• • • • • • • • • • • • • • 基本功訓練 基本演算法講解、

訓練 每個題做出後有講解、代碼 闖關模式 初學者推薦Chapter1-4,Chapter5-6挑戰性較強 Algorithm Competition - Single Round Match(SRM) 一個月4次左右,有rating 分兩個版(Div I, Div II) 參加人數眾多 每次比賽後有詳細的解題報告、代碼 比賽結束後有Practice Room可以繼續做 可以查看每一個人的代碼 Forum很熱鬧,外國人非常樂於助人 有$哦,Room前三

– www.topcoder.com/tc

• 國內題庫

– http://acm.pku.edu.cn – http://acm.zju.edu.cn – http://acm.tju.edu.cn – http://acm.hit.edu.cn – http://acm.whu.edu.cn 北京大學 浙江大學 天津大學 哈工大 武漢大學

• 國外題庫

– http://acm.timus.ru 數學題較多,OI選手必做 – http://acm.uva.es 國外最大題庫,人很多, Forum也很熱鬧 – http://acm.sgu.ru 題較難

• 建議

– 初學時做一定量的題目打基礎 – 針對特定的經典演算法,做相應的題目練習 – 過題數並不重要,做題數的排名也不重要

• 參考書

– 演算法導論英文版

• 入門級讀物

– 初讀時,前面的數學部分建立基本概念即可,無需深究 – 演算法的正確性證明、複雜度分析一定要紮實掌握(Master Theorem要會用,攤還分析瞭解) – 資料結構部分理解是關鍵,一些過於複雜的資料結構對於初學者 並不一定要求實現(紅/黑樹狀結構、二項堆、Fibbonacci 堆),但基本 的資料結構一定要熟練掌握,要能熟練實現 – 圖論經典演算法要熟練掌握 – 動態規劃要熟練掌握 – 進階部分只用選學一些

• 參考書

– 演算法藝術與資訊學競賽 劉汝佳、黃亮

• 較難 適合有一定基礎的同學 • 對於初學者仍然推薦第一章和第三章

• BBS

– acm.pku.edu.cn的Web Board(現在已經龍蛇混雜,最好只作為了 解新資訊和討論題目的渠道) – 各大高校BBS的演算法版(分類討論區->電腦技術->Algorithm(或 ACM、ICPC),精華區往往有很多資料和指南

• 推薦

– – – – – – – – bbs.whu.edu.cn(武大) bbs.zsu.edu.cn(中山) bbs.freecity.cn(浙大) bbs.sjtu.edu.cn(上交) bbs.hit.edu.cn(哈工大) bbs.tju.edu.cn(天大) bbs.nju.edu.cn(南大) bbs.scu.edu.cn(川大)

•

一般要做到50行以內的程式不用調試、100行以內的二分鐘內調試 成功.acm主要是考演算法的 ,主要時間是花在思考演算法上,不是花在寫程式與debug上。 下面給個計劃你練練: 第一階段: 練經典常用演算法,下面的每個演算法給我打上十到二十遍,同時自己 精簡代碼, 因為太常用,所以要練到寫時不用想,10-15分鐘內打完,甚至關掉 顯示器都可以把程式打 出來. 1.最短路(Floyd、Dijstra,BellmanFord) 2.最小產生樹(先寫個prim,kruscal要用並查集,不好寫) 3.大數(高精度)加減乘除 4.二分尋找. (代碼可在五行以內) 5.叉乘、判線段相交、然後寫個凸包. 6.BFS、DFS,同時

熟練hash表(要熟,要靈活,代碼要簡) 7.數學上的有:輾轉相除(兩行內),線段交點、多角形面積公式. 8. 調用系統的qsort, 技巧很多,慢慢掌握. 9. 任意進位間的轉換

ACM練習建議 轉

• 第二階段: 練習複雜一點,但也較常用的演算法。 如: 1. 二分圖匹配(匈牙利),最小路徑覆蓋 2. 網路流,最小費用流。 3. 線段樹. 4. 並查集。 5. 熟悉動態規劃的各個典型:LCS、最長遞增子串、三角 剖分、記憶化dp 6.博弈類演算法。博弈樹,二進位法等。 7.最大團,最大獨立集。 8.判斷點在多邊形內。 9. 差分約束系統. 10. 雙向廣度搜尋、A*演算法,最小耗散優先.

• 第三階段: 前兩個階段是打基礎,第三階段是鍛煉在比賽中可以快 速建立模型、想新演算法 。這就要平時多做做綜合的題型了。 1. 把oibh上的論文看看(大概幾百篇的,我只看了一點點, 呵呵)。 2. 平時掃掃zoj上的難題啦,別老做那些不用想的題.(中大 acm的版主經常說我挑簡單的來 做:-P ) 3. 多參加網上的比賽,感受一下比賽的氣氛,評估自己的 實力. 4. 一道題不要過了就算,問一下人,有更好的演算法也打一 下。 5. 做過的題要記好 :-)

我們的遊戲規則

• 專題講座

– 題目類型 資料結構 搜尋 動態規劃 圖論 數學

• 類比賽+選拔賽 • 我們的時間安排

• You can Shine

ACM 入門計劃

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.