特黄特色三级在线观看免费,看黄色片子免费,色综合久,欧美在线视频看看,高潮胡言乱语对白刺激国产,伊人网成人,中文字幕亚洲一碰就硬老熟妇

學習啦 > 學習方法 > 通用學習方法 > 學習計劃 > acm學習計劃

acm學習計劃

時間: 芳琪1092 分享

acm學習計劃

  進了ACM之后感覺不知道方向,好像什么都不會什么都該學,但又不知道該從哪里學起,下面是學習啦小編為你搜集到的acm學習計劃。希望對你有所幫助。

  acm學習計劃

  第一階段:

  練經(jīng)典常用算法,下面的每個算法給我打上十到二十遍,同時自己精簡代碼,

  因為太常用,所以要練到寫時不用想,10-15分鐘內(nèi)打完,甚至關掉顯示器都可以把程序打

  出來.

  1.最短路(Floyd、Dijstra,BellmanFord)

  2.最小生成樹(先寫個prim,kruscal要用并查集,不好寫)

  3.大數(shù)(高精度)加減乘除

  4.二分查找. (代碼可在五行以內(nèi))

  5.叉乘、判線段相交、然后寫個凸包.

  6.BFS、DFS,同時熟練hash表(要熟,要靈活,代碼要簡)

  7.數(shù)學上的有:輾轉(zhuǎn)相除(兩行內(nèi)),線段交點、多角形面積公式.

  8. 調(diào)用系統(tǒng)的qsort, 技巧很多,慢慢掌握.

  9. 任意進制間的轉(zhuǎn)換

  第二階段:

  練習復雜一點,但也較常用的算法。

  如:

  1. 二分圖匹配(匈牙利),最小路徑覆蓋

  2. 網(wǎng)絡流,最小費用流。

  3. 線段樹.

  4. 并查集。

  5. 熟悉動態(tài)規(guī)劃的各個典型:LCS、最長遞增子串、三角剖分、記憶化dp

  6.博弈類算法。博弈樹,二進制法等。

  7.最大團,最大獨立集。

  8.判斷點在多邊形內(nèi)。

  9. 差分約束系統(tǒng).

  10. 雙向廣度搜索、A*算法,最小耗散優(yōu)先.

  第三階段:

  前兩個階段是打基礎,第三階段是鍛煉在比賽中可以快速建立模型、想新算法

  。這就要平時多做做綜合的題型了。

  1. 把oibh上的論文看看(大概幾百篇的,我只看了一點點,呵呵)。

  2. 平時掃掃zoj上的難題啦,別老做那些不用想的題.(中大acm的版主經(jīng)常說我挑簡單的來

  做:-P )

  3. 多參加網(wǎng)上的比賽,感受一下比賽的氣氛,評估自己的實力.

  4. 一道題不要過了就算,問一下人,有更好的算法也打一下。

  5. 做過的題要記好 :-)

  (一)

  不可能都完全記住那么多的算法.

  常用算法,拿過來就可以寫出來

  不常用的,拿起書來,看10分鐘,就能理解算法(因為以前記過).

  對以前沒有記過的算法,就不好說了,難的可能要研究好幾天.

  這樣就可以了.

  應該熟練掌握的常用的算法應該有:

  各種排序算法(插入排序、冒泡排序、選擇排序,快速排序,堆排序,歸并排序)

  線性表(一般的線性表,棧,隊列)的插入和刪除

  二叉樹的遍歷(前序,中序,后序)

  圖的遍歷(深度優(yōu)先,廣度優(yōu)先)

  二分法查找,排序二叉樹,Hash查找(處理沖突的方法)。

  (二)

  分析一個東西,你可以用不同的眼光去看待,有很多時候,就跟自己生活一樣,覺得小時候看待問題很幼稚,現(xiàn)在看問題全面了,而且方式不一樣了,為什么,就是成長吧,就跟這個一樣的,你對算法,比如寫一個程序,可能直接寫很簡單,可是可以有一些有趣的方式,比如通過什么樣來表達,怎么樣更高效..等等吧

  (三)

  于大學里把基本的專業(yè)課學扎實就ok,如:數(shù)據(jù)結構,離散,操作系統(tǒng)等。碰到一些基本的數(shù)據(jù)結構和算法,如查找排序要根據(jù)原理馬上能寫出相應的代碼就行了,我個人是這樣理解的,對于更深層次的東西,也是建立在自己熟練的基礎之上的吧

  (四)

  算法與數(shù)據(jù)結構考驗試題精析》第2版 機械工業(yè)出版社

  如果你想練習的話,這里有N多的題可以來練習,但實際中能用到的比較少,除非搞一些高端的玩意,不過平時也可以在自己的項目中結合使用

  (五)

  數(shù)據(jù)結構在平時可能用不上,但數(shù)據(jù)結構可以培養(yǎng)你程序時如果注意效率的意識,一個學過數(shù)據(jù)結構的人和一個沒有學過數(shù)結構的人寫出來的程序可能在效率上有差別。

  (六)

  搞ACM需要的掌握的算法.

  要注意,ACM的競賽性強,因此自己應該和自己的實際應用聯(lián)系起來.

  適合自己的才是好的,有的人不適合搞算法,喜歡系統(tǒng)架構,因此不要看到別人什么就眼紅,

  發(fā)揮自己的長處,這才是重要的.

  同時由于個人練習的時候可能有些偏向性,可能上面的總結不是很全,還請大家提出和指正,而且由于ACM的題目中專門針對某個算法的題目可能比較少出現(xiàn),所以上面的分類中的題有可能有多種解法或者是一些算法的綜合,這都不會影響大家做題,希望練習的同學能夠認真,扎實地訓練,做到真正的理解算法,掌握算法.同時在論壇上還有許多前輩的分類,總結,大家也可以按自己的情況采用.注意FTP上有很多的資料,希望大家好好地利用.

  如果同學能在明年暑假前能掌握上面大部分算法,那你也基本上達到了訓練的目的,到暑假的時候你就可以選擇自己比較喜歡的方面進行加深和強化,而且同學們不要覺得看算法的證明是很麻煩的事,這可以加強你的思維能力,這在ACM中也很重要.同時也希望老隊員能幫助我整理習題和題目分類.同時ACM的題目是沒有范圍的,只能在平時中多積累多練習,多比別人多努力一點,你就會比別人多一線希望.

  先掌握搜索,動態(tài)規(guī)劃,貪心這些思想方法

  然后學習各種技巧

熱門文章

3593129