青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品



May the force be with you!
posts - 52,  comments - 33,  trackbacks - 0
很多時候感覺自己還是新人水平呀~~~




 
ACM競賽之新人向導 

    我們學校的計算機學院從去年起開始組織學生參加世界上最具權威性的大學生程序設計競賽——ACM/ICPC。從這學期開始,學院計劃有組織地進行訓練和講 座,以幫助大家在有限的時間內盡可能多地提高自己的能力,這對有興趣投入數據結構與算法研究的同學來說無疑是一件好事。但是,剛剛接觸信息學領域的同學往 往存在很多困惑,不知道從何入手學習,在這篇文章里,我希望能將自己不多的經驗與大家分享,希望對各位有所幫助。

一、語言是最重要的基本功

    無論側重于什么方面,只要是通過計算機程序去最終實現的競賽,語言都是大家要過的第一道關。亞洲賽區的比賽支持的語言包括C/C ++與JAVA。筆者首先說說JAVA,眾所周知,作為面向對象的王牌語言,JAVA在大型工程的組織與安全性方面有著自己獨特的優勢,但是對于信息學比 賽的具體場合,JAVA則顯得不那么合適,它對于輸入輸出流的操作相比于C++要繁雜很多,更為重要的是JAVA程序的運行速度要比C++慢10倍以上, 而競賽中對于JAVA程序的運行時限卻往往得不到同等比例的放寬,這無疑對算法設計提出了更高的要求,是相當不利的。其實,筆者并不主張大家在這種場合過 多地運用面向對象的程序設計思維,因為對于小程序來說這不旦需要花費更多的時間去編寫代碼,也會降低程序的執行效率。

    接著說C和C++。許多現在參加講座的同學還在上大一,C的基礎知識剛剛學完,還沒有接觸過C++,其實在賽場上使用純C的選手 還是大有人在的,它們主要是看重了純C在效率上的優勢,所以這部分同學如果時間有限,并不需要急著去學習新的語言,只要提高了自己在算法設計上的造詣,純 C一樣能發揮巨大的威力。

    而C++相對于C,在輸入輸出流上的封裝大大方便了我們的操作,同時降低了出錯的可能性,并且能夠很好地實現標準流與文件流的切換,方便了調試的工作。如果有些同學比較在意這點,可以嘗試C和C++的混編,畢竟僅僅學習C++的流操作還是不花什么時間的。

    C++的 另一個支持來源于標準模版庫(STL),庫中提供的對于基本數據結構的統一接口操作和基本算法的實現可以縮減我們編寫代碼的長度,這可以節省一些時間。但 是,與此相對的,使用STL要在效率上做出一些犧牲,對于輸入規模很大的題目,有時候必須放棄STL,這意味著我們不能存在“有了STL就可以不去管基本 算法的實現”的想法;另外,熟練和恰當地使用STL必須經過一定時間的積累,準確地了解各種操作的時間復雜度,切忌對STL中不熟悉的部分濫用,因為這其 中蘊涵著許多初學者不易發現的陷阱。

    通過以上的分析,我們可以看出僅就信息學競賽而言,對語言的掌握并不要求十分全面,但是對于經常用到的部分,必須十分熟練,不允許有半點不清楚的地方,下面我舉個真實的例子來說明這個道理——即使是一點很細微的語言障礙,都有可能釀成錯誤:

    在去年清華的賽區上,有一個隊在做F題的時候使用了cout和printf的混合輸出,由于一個帶緩沖一個不帶,所以輸出一長就混亂了。只是因為當時judge team中負責F題的人眼睛尖,看出答案沒錯只是順序不對(答案有一頁多,是所有題目中最長的一個輸出),又看了看程序發現只是輸出問題就給了個Presentation error(格式錯)。如果審題的人不是這樣而是直接給一個 Wrong Answer,相信這個隊是很難查到自己錯在什么地方的。

    現在我們轉入第二個方面的討論,基礎學科知識的積累。

二、以數學為主的基礎知識十分重要

    雖 然被定性為程序設計競賽,但是參賽選手所遇到的問題更多的是沒有解決問題的思路,而不是有了思路卻死活不能實現,這就是平時積累的基礎知識不夠。今年 World Final的總冠軍是波蘭華沙大學,其成員出自于數學系而非計算機系,這就是一個鮮活的例子。競賽中對于基礎學科的涉及主要集中于數學,此外對于物理、電 路等等也可能有一定應用,但是不多。因此,大一的同學也不必為自己還沒學數據結構而感到不知從何入手提高,把數學撿起來吧!下面我來談談在競賽中應用的數 學的主要分支。

    1、離散數學——作為計算機學科的基礎,離散數學是競賽中涉及最多的數學分支,其重中之重又在于圖論和組合數學,尤其是圖論。

    圖 論之所以運用最多是因為它的變化最多,而且可以輕易地結合基本數據結構和許多算法的基本思想,較多用到的知識包括連通性判斷、DFS和BFS,關節點和關 鍵路徑、歐拉回路、最小生成樹、最短路徑、二部圖匹配和網絡流等等。雖然這部分的比重很大,但是往往也是競賽中的難題所在,如果有初學者對于這部分的某些 具體內容暫時感到力不從心,也不必著急,可以慢慢積累。

    競 賽中設計的組合計數問題大都需要用組合數學來解決,組合數學中的知識相比于圖論要簡單一些,很多知識對于小學上過奧校的同學來說已經十分熟悉,但是也有一 些部分需要先對代數結構中的群論有初步了解才能進行學習。組合數學在競賽中很少以難題的形式出現,但是如果積累不夠,任何一道這方面的題目卻都有可能成為 難題。

    2、數論—— 以素數判斷和同余為模型構造出來的題目往往需要較多的數論知識來解決,這部分在競賽中的比重并不大,但只要來上一道,也足以使知識不足的人冥思苦想上一陣 時間。素數判斷和同余最常見的是在以密碼學為背景的題目中出現,在運用密碼學常識確定大概的過程之后,核心算法往往要涉及數論的內容。

    3、計算幾何——計算幾何相比于其它部分來說是比較獨立的,就是說它和其它的知識點很少有過多的結合,較常用到的部分包括——線段相交的判斷、多邊形面積的計算、內點外點的判斷、凸包等等。計算幾何的題目難度不會很大,但也永遠不會成為最弱的題。

    4、線性代數——對線性代數的應用都是圍繞矩陣展開的,一些表面上是模擬的題目往往可以借助于矩陣來找到更好的算法。

    5、概率論——競賽是以黑箱來判卷的,這就是說你幾乎不能動使用概率算法的念頭,但這也并不是說概率就沒有用。關于這一點,只有通過一定的練習才能體會。

    6、初等數學與解析幾何——這主要就是中學的知識了,用的不多,但是至少比高等數學多,我覺得熟悉一下數學手冊上的相關內容,至少要知道在哪兒能查到,還是必要的。

    7、高等數學——純粹運用高等數學來解決的題目我接觸的只有一道,但是一些題目的敘述背景往往需要和這部分有一定聯系,掌握得牢固一些總歸沒有壞處。

    以上就是競賽所涉及的數學領域,可以說范圍是相當廣的。我認識的許多人去搞信息學的競賽就是為了逼著自己多學一點數學,因為數學是一切一切的基礎。

三、數據結構與算法是真正的核心

    雖然數學十分十分重要,但是如果讓三個只會數學的人參加比賽,我相信多數情況下會比三個只會數據結構與算法的人得到更為悲慘的結局。

    先 說說數據結構。掌握隊列、堆棧和圖的基本表達與操作是必需的,至于樹,我個人覺得需要建樹的問題有但是并不多。(但是樹往往是很重要的分析工具)除此之 外,排序和查找并不需要對所有方式都能很熟練的掌握,但你必須保證自己對于各種情況都有一個在時間復雜度上滿足最低要求的解決方案。說到時間復雜度,就又 該說說哈希表了,競賽時對時間的限制遠遠多于對空間的限制,這要求大家盡快掌握“以空間換時間”的原則策略,能用哈希表來存儲的數據一定不要到時候再去查 找,如果實在不能建哈希表,再看看能否建二叉查找樹等等——這都是爭取時間的策略,掌握這些技巧需要大家對數據結構尤其是算法復雜度有比較全面的理性和感 性認識。

    接 著說說算法。算法中最基本和常用的是搜索,主要是回溯和分支限界法的使用。這里要說的是,有些初學者在學習這些搜索基本算法是不太注意剪枝,這是十分不可 取的,因為所有搜索的題目給你的測試用例都不會有很大的規模,你往往察覺不出程序運行的時間問題,但是真正的測試數據一定能過濾出那些沒有剪枝的算法。實 際上參賽選手基本上都會使用常用的搜索算法,題目的區分度往往就是建立在諸如剪枝之類的優化上了。

    常 用算法中的另一類是以“相似或相同子問題”為核心的,包括遞推、遞歸、貪心法和動態規劃。這其中比較難于掌握的就是動態規劃,如何抽象出重復的子問題是很 多題目的難點所在,筆者建議初學者仔細理解圖論中一些以動態規劃為基本思想所建立起來的基本算法(比如Floyd-Warshall算法),并且多閱讀一 些定理的證明,這雖然不能有什么直接的幫助,但是長期堅持就會對思維很有幫助。

四、團隊配合

    通過以上的介紹大家也可以看出,信息學競賽對于知識面覆蓋的非常廣,想憑一己之力全部消化這些東西實在是相當困難的,這就要求我們盡可能地發揮團隊協作的精神。同組成員之間的熟練配合和默契的形成需要時間,具體的情況因成員的組成不同而不同,這里我就不再多說了。

五、練習、練習、再練習

    知 識的積累固然重要,但是信息學終究不是看出來的,而是練出來的,這是多少前人最深的一點體會,只有通過具體題目的分析和實踐,才能真正掌握數學的使用和算 法的應用,并在不斷的練習中增加編程經驗和技巧,提高對時間復雜度的感性認識,優化時間的分配,加強團隊的配合。總之,在這里光有紙上談兵是絕對不行的, 必須要通過實戰來鍛煉自己。

    大 家一定要問,我們去哪里找題做,又如何檢驗程序是否正確呢?這大可不必擔心,現在已經有了很多網上做題的站點,這些站點提供了大量的題庫并支持在線判卷, 你只需要把程序源碼提交上去,馬上就可以知道自己的程序是否正確,運行所使用的時間以及消耗的內存等等狀況。下面我給大家推薦幾個站點,筆者不建議大家在 所有這些站點上做題,選擇一個就可以了,因為每個站點的題都有一定的難易比例,系統地做一套題庫可以使你對各種難度、各種類型的題都有所認識。

    1、Ural:

    Ural是中國學生對俄羅斯的Ural州立大學的簡稱,那里設立了一個Ural Online Problem Set,并且支持Online Judge。Ural的不少題目算法性和趣聞性都很強,得到了國內廣大學生的厚愛。根據“信息學初學者之家”網站的統計,Ural的題目類型大概呈如下的分布:

 

題型

搜索

動態

規劃

貪心

構造

圖論

計算

幾何

純數學

問題

數據

結構

其它

所占

比例

 約10%

 約15%

約5%

 約5%

 約10%

 約5%

 約20%

約5%

約25%

   

    這和實際比賽中的題型分布也是大體相當的。有興趣的朋友可以去看看。  

    2、UVA:

    UVA代表西班牙Valladolid大學(University de Valladolid)。該大學有一個那里設立了一個PROBLEM SET ARCHIVE with ONLINE JUDGE ,并且支持ONLINE JUDGE,形式和Ural大學的題庫類似。不過和Ural不同的是,UVA題目多的多,而且比較雜,而且有些題目的測試數據比較刁鉆。這使得剛到那里做題的朋友往往感覺到無所適從,要么難以找到合適的題目,要么Wrong Answer了很多次以后仍然不知道錯在那里。如果說做Ural題目主要是為了訓練算法,那么UVA題目可以訓練全方位的基本功和一些必要的編程素質。UVA和許多世界知名大學聯合辦有同步網上比賽,因此那里強人無數,不過你先要使自己具有聽懂他們在說什么的素質:)

    3、ZOJ:

    ZOJ是浙江大學建立的ONLINE JUDGE, 是中國大學建立的第一個同類站點,也是最好和人氣最高的一個,筆者和許多班里的同學就是在這里練習。ZOJ雖然也定位為一個英文網站,但是這里的中國學生 比較多,因此讓人覺得很親切。這里目前有500多道題目,難易分配適中,且涵蓋了各大洲的題目類型并配有索引,除此之外,ZOJ的JUDGE系統是幾個網 站中表現得比較好的一個,很少出現Wrong Answer和Presentation error混淆的情況。這里每月也辦有一次網上比賽,只要是注冊的用戶都可以參加。


posted on 2008-04-03 17:58 R2 閱讀(1059) 評論(2)  編輯 收藏 引用 所屬分類: 他山之石

FeedBack:
# re: zzACM競賽之新人向導
2008-04-03 19:03 | winsty
POJ被54了...
ZOJ上現在有2000了...  回復  更多評論
  
# re: zzACM競賽之新人向導
2008-04-03 21:47 | littlekid
@winsty
轉的很老的文章了~~  回復  更多評論
  
你是第 free hit counter 位訪客




<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(4)

隨筆分類(54)

隨筆檔案(52)

文章檔案(1)

ACM/ICPC

技術綜合

最新隨筆

搜索

  •  

積分與排名

  • 積分 - 64246
  • 排名 - 357

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品美女在线| 国产在线不卡精品| 99re热这里只有精品免费视频| 猛男gaygay欧美视频| 久久久噜噜噜久久人人看| 久久久久久电影| 男女精品网站| 91久久极品少妇xxxxⅹ软件| 亚洲国产一区二区视频| 亚洲日韩成人| 亚洲在线观看视频网站| 久久激情五月激情| 欧美黑人多人双交| 欧美午夜精品久久久久久久| 国产欧美日韩在线| 亚洲国产精品一区二区www在线 | 在线一区二区三区做爰视频网站 | 欧美大色视频| 一本久久综合亚洲鲁鲁| 欧美在线二区| 欧美精品 日韩| 国产日韩亚洲| 一区二区动漫| 久久综合亚洲社区| 国产精品99久久久久久久vr| 久久综合激情| 国产拍揄自揄精品视频麻豆| av成人激情| 欧美a一区二区| 欧美日韩国语| 亚洲精品一区在线| 亚洲影院免费| 欧美精品1区| 黄色亚洲精品| 久久精品视频在线免费观看| 亚洲毛片在线观看| 蜜桃av综合| 国内外成人在线视频| 欧美亚洲免费在线| 国产精品99久久久久久久女警| 久久综合久久综合久久| 国产美女精品视频| 亚洲一区国产视频| 亚洲精品国精品久久99热一| 久久综合婷婷| 亚洲第一页中文字幕| 久久久精品视频成人| 在线亚洲免费| 欧美日韩久久不卡| 亚洲欧洲日夜超级视频| 老司机久久99久久精品播放免费| 欧美在线精品一区| 国产亚洲一级高清| 欧美伊人久久| 亚洲一区日本| 国产精品免费一区豆花| 亚洲一区免费| 亚洲一区二区三区色| 国产精品久久久久一区| 午夜精品免费在线| 亚洲欧美在线免费观看| 国产亚洲综合精品| 久久精品久久综合| 午夜在线观看免费一区| 国产视频在线观看一区二区三区| 亚洲欧美日韩精品| 午夜精品一区二区三区在线| 国产日韩欧美在线| 久久精品1区| 香蕉国产精品偷在线观看不卡| 国产午夜久久| 欧美成人按摩| 欧美激情1区2区3区| 中文精品视频| 先锋影音国产一区| 亚洲激情中文1区| 日韩亚洲不卡在线| 国产精品最新自拍| 免费精品视频| 欧美日韩一区二区在线视频| 欧美一区永久视频免费观看| 看欧美日韩国产| 99ri日韩精品视频| 午夜久久电影网| 亚洲精选视频免费看| 一区二区三区高清视频在线观看| 国产精品一区二区欧美| 免费在线看一区| 欧美视频中文在线看| 久久影院午夜片一区| 在线亚洲国产精品网站| 亚洲高清123| 欧美国产日产韩国视频| 欧美精品免费在线观看| 欧美怡红院视频一区二区三区| 久久久久久久久蜜桃| 亚洲精品视频在线观看免费| 亚洲性色视频| 亚洲黄色在线视频| 亚洲一区二区久久| 亚洲精品国产视频| 午夜精品久久久久久久久久久 | 国产女主播一区二区| 免费在线观看日韩欧美| 欧美日韩理论| 亚洲国产国产亚洲一二三| 国产精品久久7| 欧美激情亚洲国产| 国产有码在线一区二区视频| 99综合精品| 亚洲国产一区在线| 亚洲欧美国产精品va在线观看| 在线看国产日韩| 欧美一级黄色网| 亚洲综合电影| 欧美性色视频在线| 亚洲国产一区二区三区高清| 国内视频一区| 小黄鸭视频精品导航| 亚洲一区二区三| 欧美精品午夜视频| 欧美激情一区| 亚洲精品久久久久久下一站| 久久亚洲综合色| 久久综合国产精品| 黄色精品免费| 鲁鲁狠狠狠7777一区二区| 鲁大师影院一区二区三区| 国产最新精品精品你懂的| 午夜精品久久久久久久久久久久久| 亚洲欧美日韩成人| 国产精品成人国产乱一区| 一本色道久久88亚洲综合88| 日韩视频免费观看高清完整版| 每日更新成人在线视频| 农夫在线精品视频免费观看| 尤物99国产成人精品视频| 久久精品久久综合| 欧美承认网站| 亚洲精品中文字幕女同| 欧美成人影音| 日韩写真视频在线观看| 亚洲一区影音先锋| 国产精品黄页免费高清在线观看| 9久re热视频在线精品| 亚洲午夜女主播在线直播| 欧美性大战久久久久| 亚洲综合首页| 久久人人爽人人爽| 亚洲第一黄色网| 欧美日韩国产成人在线免费| 亚洲视频在线观看| 久久色中文字幕| 亚洲国产欧美国产综合一区| 欧美精品激情在线观看| 亚洲午夜激情网页| 久久婷婷综合激情| 欧美好吊妞视频| 午夜精品久久久久影视| 国产日韩综合一区二区性色av| 新67194成人永久网站| 久久伊人一区二区| 亚洲美女视频在线观看| 国产精品视频一| 久久久视频精品| 99热免费精品| 久久综合久久综合久久| 亚洲精品资源| 国产亚洲精品7777| 欧美黄色网络| 久久精品国产亚洲一区二区三区| 亚洲电影免费在线观看| 亚洲欧美日韩第一区| 亚洲国产精品成人综合色在线婷婷| 欧美日韩国产成人高清视频| 久久精品女人的天堂av| 一区二区三区www| 欧美黄污视频| 久久国内精品自在自线400部| 亚洲国产高潮在线观看| 国产精品入口66mio| 免费人成网站在线观看欧美高清| 亚洲一区二区在线视频| 亚洲欧洲一区二区三区久久| 欧美中文字幕在线播放| 99成人在线| 亚洲国产成人精品久久| 国产麻豆日韩| 国产精品成av人在线视午夜片| 久久综合色综合88| 久久精品盗摄| 欧美一级艳片视频免费观看| 亚洲精品国产欧美| 欧美va亚洲va国产综合| 久久人体大胆视频| 久久狠狠一本精品综合网| 亚洲自拍高清| 中文日韩欧美| 亚洲精品中文字幕在线| 亚洲第一精品福利|