• <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>


            May the force be with you!
            posts - 52,  comments - 33,  trackbacks - 0

            注:最近低潮一段,加上本人處于高原期——水平急待提高的階段,所以一直郁悶,做題相當(dāng)少,貼休息時(shí)看到的好文章充數(shù)……


            在ICPC比賽中,個(gè)人 能力方面,如果粗略地分的話,大致可以分為算法能力、代碼能力和查錯(cuò) 能力。那些大學(xué)才開始參加比賽的選手,寫代碼的基本功一般會(huì)比較扎實(shí),主要瓶頸應(yīng)該是算法能力。而對(duì)于OI轉(zhuǎn)ICPC的選手來說,代碼能力往往是最大的缺 陷。隨著OI轉(zhuǎn)ICPC的選手逐漸增多,代碼能力的問題愈發(fā)暴露了出來。

            一、如何定義代碼能力

            Comars曾經(jīng)給代碼能力作過一個(gè)比較準(zhǔn)確的定義。2004年暑假時(shí),Comars曾經(jīng)說 過:他認(rèn)為150行以內(nèi)的題目,他的1Y率非常高,并且保持穩(wěn)定;而當(dāng)代碼長(zhǎng)度超過150行以后,1Y率就開始急速下降了。如果我們畫出一條1Y率的曲線 的話,150行就是一個(gè)轉(zhuǎn)折點(diǎn)。我們不妨認(rèn)為,150行就是Comars當(dāng)時(shí)的代碼能力。一年以后,經(jīng)過努力,Comars把代碼能力提高到了250行。 不過,這已經(jīng)是后話了。

            二、如何提高代碼能力

            我一直覺得寫程序和寫文章是一個(gè)對(duì)很好的類比。

            寫文章需要先從宏觀入手,構(gòu)思文章的結(jié)構(gòu)。寫程序同樣需要。一個(gè)好的結(jié)構(gòu),就是一個(gè)好的開始。一個(gè)好的開始,是成功的一半。

            一篇好的文章需要各種句式和詞藻的合理組合。體現(xiàn)到寫程序上來,就是一些單句以及三五行的小結(jié)構(gòu)的熟練使用。這些都是需要平時(shí)總結(jié)和積累的。

            但凡文章寫得好的人,一定看過很多別人寫的文章。同樣的道理,多看別人的程序,用心地去看,也可以提高自己的代碼能力。

            我鼓勵(lì)隊(duì)員去看別人寫的程序,特別是像Comars這樣的選手寫的程序。從優(yōu)秀的程序中,我 們可以體會(huì)別人良好的程序結(jié)構(gòu),同時(shí)也可以學(xué)到很多寫程序的技巧——三五行的小技巧。在和Comars做隊(duì)友的兩年時(shí)間里,我通過看Comars的程序, 學(xué)會(huì)了很多小技巧。逐漸地,我覺得我寫的某些程序已經(jīng)和Comars有點(diǎn)相像了。

            那么,如果身邊沒有Comars這樣優(yōu)秀的選手可以借鑒,該怎么辦呢?其實(shí)沒關(guān)系。任何一個(gè)程序都是可以看的。一個(gè)程序,就算寫得再差,總還會(huì)有一兩個(gè)閃光點(diǎn),要想辦法把它們找出來。另外,程序里寫得不好的地方,也要一一找出來。

            讀程序,從某種角度來看,就像讀史。好的歷史是用來借鑒的;不好的歷史則應(yīng)該引以為戒。讀程序也是一樣,擇其善者而從之,其不善者而改之。

            三、謹(jǐn)慎地對(duì)待STL和SCL

            STL - Standard Template Library。在ICPC的選手中,STL是相當(dāng)受歡迎的。的確,如果STL用得好,程序可以精簡(jiǎn)很多。既提高了編程的速度,也提高了編程的準(zhǔn)確性。

            SCL - Standard Code Library,就是標(biāo)準(zhǔn)程序庫(kù)。對(duì)很多選手來說,SCL可是命根子啊 :)

            我覺得STL和SCL都不是壞東西,但是需要謹(jǐn)慎地使用。

            我向來不主張隊(duì)員一進(jìn)隊(duì)就開始用STL(雖然這種現(xiàn)象普遍存在 :()。我認(rèn)為,STL的作用是錦上添花,而不是雪中送炭。比方說,一個(gè)heap寫得很熟練的隊(duì)員,我覺得他可以偷偷懶,用一下STL。但是,那些不太會(huì) 寫heap的隊(duì)員,就不應(yīng)該用STL里的heap。因?yàn)椋麄冋嬲龖?yīng)該做的是掌握寫heap的能力——這才是最本質(zhì)的代碼能力。

            學(xué)會(huì)用STL是件很爽的事情。但是須知有所得必有所失。如果過早地接觸STL,會(huì)讓你失去很多鍛煉代碼能力的機(jī)會(huì)。

            至于SCL,我的主張是盡量不用。

            不可否認(rèn),隊(duì)里確實(shí)有一些人SCL用得很好。但是,我至今仍然沒有見過一個(gè)SCL用得很好,同時(shí)有擁有很強(qiáng)的代碼能力的人。同樣是有所得必有所失,你平時(shí)習(xí)慣了去抄程序,必然少了很多自己構(gòu)思程序的機(jī)會(huì),從而影響代碼能力的提高。

            當(dāng)然,我也不是完全反對(duì)去使用SCL,偶爾用一下也是可以的,例如在比賽中。但是,需要注意 的是,一定要用自己整理的SCL。我見過有人拿著一本別人整理的SCL,雖然內(nèi)容很齊整,但是我沒見他用對(duì)過。因?yàn)檫@本SCL不是他整理的,他自己都不知 道每個(gè)程序在使用的時(shí)候應(yīng)該注意些什么,于是一用就錯(cuò)。


            posted on 2008-04-13 15:21 R2 閱讀(3904) 評(píng)論(1)  編輯 收藏 引用 所屬分類: 他山之石

            FeedBack:
            # re: zz 上海交大ACM隊(duì)長(zhǎng)建議——談?wù)凙CM比賽中的代碼能力
            2008-04-30 11:09 | richardxx
            SCL,就是被這個(gè)東西害了的,深有感觸~~~  回復(fù)  更多評(píng)論
              
            你是第 free hit counter 位訪客




            <2025年8月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            常用鏈接

            留言簿(4)

            隨筆分類(54)

            隨筆檔案(52)

            文章檔案(1)

            ACM/ICPC

            技術(shù)綜合

            最新隨筆

            搜索

            •  

            積分與排名

            • 積分 - 64173
            • 排名 - 357

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久精品国产精品国产精品污 | 久久免费的精品国产V∧| 久久久久久一区国产精品| 久久国产成人午夜aⅴ影院| 久久综合九色综合久99| 潮喷大喷水系列无码久久精品| 久久久久久毛片免费看| 人妻无码久久一区二区三区免费| 色妞色综合久久夜夜| 伊人色综合九久久天天蜜桃| 99久久国语露脸精品国产| 亚洲va国产va天堂va久久| 天天做夜夜做久久做狠狠| 久久男人中文字幕资源站| 91麻精品国产91久久久久 | 久久99精品久久久久子伦| 人妻无码久久精品| 青青草国产精品久久| 青青热久久综合网伊人| 久久婷婷五月综合国产尤物app | 久久无码人妻一区二区三区| 久久精品国产乱子伦| 日产精品久久久久久久| 亚洲国产另类久久久精品小说| 中文字幕无码免费久久| 国产成人久久AV免费| 88久久精品无码一区二区毛片 | 久久精品国产一区| 国产成人AV综合久久| 97精品伊人久久久大香线蕉| 无码AV波多野结衣久久| 人人狠狠综合久久亚洲88| 91久久福利国产成人精品| 久久久亚洲AV波多野结衣| 91精品国产高清91久久久久久| 伊人久久综合热线大杳蕉下载| 国产亚洲精久久久久久无码AV| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 久久一日本道色综合久久| 狠狠色丁香久久综合五月| 日韩亚洲国产综合久久久|