來自牛人的ACM經(jīng)驗.doc_第1頁
來自牛人的ACM經(jīng)驗.doc_第2頁
來自牛人的ACM經(jīng)驗.doc_第3頁
來自牛人的ACM經(jīng)驗.doc_第4頁
來自牛人的ACM經(jīng)驗.doc_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

來自牛人的ACM經(jīng)驗競賽 2010-07-16 09:51:43 閱讀0 評論0 字號:大中小 轉(zhuǎn)于:/luxuejuncarl/hacker名單/isbx posted 2007-03-19 21:30 路雪軍 閱讀(120) | 評論 (0) |編輯收藏 Linux常用命令錦集/images/tech/linux/zhuanti/mingling/index.htm posted 2007-03-19 20:25 路雪軍 閱讀(112) | 評論 (0) |編輯收藏 2007年3月5日 隨想記錄下wonderful的sentences,背下來并加以應(yīng)用is a good habit.posted 2007-03-05 15:24 路雪軍 閱讀(88) | 評論 (0) |編輯收藏 2007年3月3日 acm比賽經(jīng)驗(轉(zhuǎn))在天大,偶參加的比賽可以算是最多的了,說說比賽經(jīng)驗。 可能現(xiàn)在說早了點,需要大家在正式比賽之前再看一遍。 推薦此篇文章打印,與模板放在一起。 1. 比賽中評測會有些慢,偶爾還會碰到隔10分鐘以上才返回結(jié)果的情況,這段時間不能等結(jié)果,必須開工其他題,如果WA,兩道題同時做。交完每道題都要先打印。 2. 比賽時發(fā)的飯不是讓你當(dāng)時就吃的,那是給你賽后吃的?;旧媳荣愔星皫酌年牰紱]人吃,除非領(lǐng)先很多。 3. 很多選手,尤其是第一次參加比賽的,到一個新環(huán)境,全當(dāng)旅游了,參觀的參觀,找同學(xué)的找同學(xué),玩玩樂樂就把正事拋到腦后了,結(jié)果比賽自然沒什么好成績,這樣的例子太多了。所以到參賽地后要時刻不忘自己是來比賽的,好好休息、備戰(zhàn)。 4. 參賽前一天要睡10個小時以上,非常有助于保持比賽中的精力,很多時候比賽到3個多小時隊員就沒勁了就是這個原因。前一天晚飯與當(dāng)天早飯要吃好,理由同上,要知道下頓飯得下午3點賽后才能吃。 5. 到新環(huán)境,時刻注意遠離疾病,感冒腸炎病不大,卻是成績的天敵。 6. 英語不好,看不懂的,要勤查詞典,懶一次就少一道題,遠離獎牌。 7. 可以緊張,杜絕慌張,慌張是出題的敵人,任何時候,如果發(fā)現(xiàn)自己或者隊友出現(xiàn)慌張的情況,提醒深呼吸。 8. 照著紙敲代碼和sample數(shù)據(jù)時不要敲錯,特別注意文字信息。 9. 第一道簡單題交給隊中最穩(wěn)的人做,萬一遇到麻煩也不要慌,如果有很多隊都出了就更不必著急了,它必定是簡單題,必定是可以很快做出來的,晚幾分鐘也比罰掉20分好。另外注意不要PE。 10. 最后一小時是出題高峰,誰松懈,誰落后。最后一小時出一道是正常,出兩道更好。 以上各條均有出處,每條都包含著以往教訓(xùn),每條都可能浪費掉你一年的努力,不可小視。 以下各條有些來自于其他學(xué)校,有些是總結(jié): 11. 無論是否有人通過,所有題必須全讀過,最好每道題都有兩人以上讀過,盡量杜絕講題現(xiàn)象。要完全弄清題意,正確的判斷出題目的難易,不要想當(dāng)然。 12. 雖然討論有助于出題,但是以往每賽區(qū)第一名基本都是各自為戰(zhàn),但是互相了解,覺得一道題適合其他人做就轉(zhuǎn)手。 13. 保持頭腦靈活,在正常方法不行時想想歪門邪道,比如換種不常見的特殊的數(shù)據(jù)結(jié)構(gòu),加預(yù)處理,限時搜索等。效率是第一位的,如果覺得DP麻煩就用記憶化搜索,總之考慮清楚后就要在最短時間出題。 14. 競賽中更需要比平時穩(wěn)定,程序出來后要檢查重點地方,盡量1Y。對于WA的題,不要改一處就交,很可能還有錯的地方,要穩(wěn),要懂得在壓力下也要仔細。對WA的題測試時要完整,必須每個點都測到,但不一定特別復(fù)雜。要考慮到測試的各種邊界情況,比如矩陣可能為1*1或1*n或m*1。 15. 除非做出的人很多,否則最后考慮復(fù)雜幾何題,精度造成的問題太多了。對double型操作要小心判斷大小、絕對值等情況。一般情況下不要用float型。 16. 塊復(fù)制要小心,檢查相應(yīng)的部分是否已經(jīng)正確修改。 17. 紙上寫程序要盡量完整,每道題上機時間(包括輸入、測試和調(diào)試)不要超過一小時。程序出錯如果一時無法排除就應(yīng)該打印出來閱讀而把機器讓出來。 18. 提交時注意題號,不要交錯題。由于PC2的界面,這種情況時有發(fā)生。 19. 盡可能想到題目可以用到的數(shù)學(xué)的東西。 20. 初始化必不可少。 21. 數(shù)組行列下標(biāo)不要弄反,位運算或字符串哪頭是0和n不要搞反。 22. 提交時記得把所有的調(diào)試信息都關(guān)掉。 23. 實在迫不得已才可換人做題。 24. 有想法后,寫程序之前想好時空效率。比賽中一般不會出現(xiàn)時限30秒以上的題(國外賽區(qū)除外),10秒及以上的一般不會超過3道。 25. 競賽機會每年只有一次,訓(xùn)練了很長時間,如果比賽中出現(xiàn)疏失,那么今后一年都會后悔。對于不準備明年參賽的同學(xué),更是要珍惜最后一次參賽機會。 附以前所寫組隊賽說明 1 要有做題比較多的隊員,對于各種題型都有所涉及,做題穩(wěn),一般對前兩道簡單題能夠保證快速,并且99%以上一次AC。 2 要有人專門應(yīng)付數(shù)學(xué)與幾何題,但復(fù)雜的幾何題要放在最后做,對一些常用的函數(shù)要有模版準備。如精度控制,叉積,凸包等。 3 要有人能夠?qū)Ω堵闊┑念},并保證一定的通過率,大多數(shù)的比賽都至少有一道這樣的題,如 POJ 1913,TOJ 1092。 4 要有人對DP非常之熟,單次、雙次、相對等情況都不在話下。對經(jīng)典DP手到擒來。 5 要有人對稀奇古怪的算法都做過程序,涉獵廣,對于數(shù)論、圖論中的一些特殊結(jié)論都知道。如 TOJ 1584,ZOJ 1015,UVA 10733。 6 要有人對復(fù)雜的通用算法做過程序,如網(wǎng)絡(luò)流中的最小費用最大流等等一系列的流,求割點/割邊,啟發(fā)式搜索/搏弈等。 7 模版要自己寫,并且另兩個人都認真讀過,用以往題目進行多次的測試。模版要全,但要控制篇幅,因為很多賽區(qū)已開始限制頁數(shù)。 8 要有人對 Linux/vi/gcc 系統(tǒng)熟悉,對PC2熟悉,一定注意正式比賽時不要出現(xiàn)提交錯題的情況。另外也要試用Dev-C+等Windows下的免費軟件??傊煜け荣惌h(huán)境。 9 每次練習(xí)賽都要當(dāng)作正式比賽來做,要確保所有的題都看過,賽后要把沒做出來的題盡量補上。 10 可能的話多看看以往比賽的總結(jié)、照片和錄象,縮短與正式競賽的距離,避免正式競賽時緊張得做不出題等情況。 最好的情況就是對于各種題目三個隊員都能做,但是又各有側(cè)重。 要保證出來一道題能夠有人會做、敢做,至少也要知道做法。posted 2007-03-03 00:13 路雪軍 閱讀(406) | 評論 (0) |編輯收藏 ACM/ICPC競賽規(guī)則和賽題特點ACM/ICPC競賽規(guī)則和賽題特點ACM比賽由三人一組在一臺電腦上合作進行,比賽時間為5個小時。在這5個小時中,三名選手將有選擇的完成8-10道程序求解問題,解答以程序的方式通過網(wǎng)絡(luò)提交給裁判。裁判會為每個問題設(shè)計好極為嚴格的測試數(shù)據(jù)以檢測程序的正確性,一個正確的程序必須通過所有的測試數(shù)據(jù),如果在一個測試數(shù)據(jù)上出錯這個程序就被認為是錯誤的。最后按解決問題個數(shù)的多少對隊伍進行排名,并列者再按錯誤提交的次數(shù)排名。ACM賽題有以下的特點: 1.難度極大。8-10個問題中通常最強的隊伍也只能完成5-6題。在5個小時之內(nèi)構(gòu)造出這些問題的算法就很難,即便算法是正確的,如果在程序?qū)崿F(xiàn)時出有一點誤差都會被裁判極為嚴密的測試數(shù)據(jù)查出而把程序判定為錯誤的。另外題目為全英文,選手必須要在很短的時間內(nèi)把握住問題的每一個細節(jié),一處理解的偏差就會導(dǎo)致一個程序的錯誤。 2.賽題具有創(chuàng)造性且考察的范圍很廣。ACM的賽題涉及數(shù)據(jù)結(jié)構(gòu),算法設(shè)計,圖論,規(guī)劃,人工智能,計算幾何,計算機圖形學(xué),數(shù)論,離散數(shù)學(xué),組合數(shù)學(xué),操作系統(tǒng),編譯原理等各個方面,且大多數(shù)試題都沒有成型的算法,要求選手在場上發(fā)揮自己的創(chuàng)造力,為每個問題構(gòu)造出數(shù)學(xué)模型并設(shè)計出高效簡潔的算法。 3.賽題與實際應(yīng)用的聯(lián)系很緊密。很多試題也許被出題者描述成一個有趣的故事,但它很可能就是最近一個計算機科學(xué)技術(shù)領(lǐng)域的成果,也有的問題就原樣以操作系統(tǒng)或是編譯原理中模型的形式給出。這使得一次競賽不僅有趣和充滿挑戰(zhàn)性也具有更加深遠的意義。posted 2007-03-03 00:13 路雪軍 閱讀(361) | 評論 (0) |編輯收藏 2007年3月2日 ASCII碼對照表 ASCII碼對照表 ASCII, American Standard Code for Information Interchange 念起來像是 阿斯key,定義從 0 到 127 的一百二十八個數(shù)字所代表的英文字母或一樣的結(jié)果與意義。由于只使用7個位元(bit)就可以表示從0到127的數(shù)字,大部分的電腦都使用8個位元來存取字元集(character set),所以從128到255之間的數(shù)字可以用來代表另一組一百二十八個符號,稱為 extended ASCII。ASCII碼鍵盤ASCII 碼 鍵盤ASCII碼鍵盤ASCII 碼 鍵盤27ESC32SPACE33!3435#36$37%38&3940(41)42*43+4445-46.47/48049150251352453554655756857958:59;6063?6465A66B67C68D69E70F71G72H73I74J75K76L77M78N79O80P81Q82R83S84T85U86V87W88X89Y90Z9192939495_9697a98b99c100d101e102f103g104h105i106j107k108l109m110n111o112p113q114r115s116t117u118v119w120x121y122z123124|125126目前計算機中用得最廣泛的字符集及其編碼,是由美國國家標(biāo)準局(ANSI)制定的ASCII碼(AmericanStandardCodeforInformationInterchange,美國標(biāo)準信息交換碼),它已被國際標(biāo)準化組織(ISO)定為國際標(biāo)準,稱為ISO646標(biāo)準。適用于所有拉丁文字字母,ASCII碼有7位碼和8位碼兩種形式。因為1位二進制數(shù)可以表示(21=)2種狀態(tài):0、1;而2位二進制數(shù)可以表示(22)=4種狀態(tài):00、01、10、11;依次類推,7位二進制數(shù)可以表示(27=)128種狀態(tài),每種狀態(tài)都唯一地編為一個7位的二進制碼,對應(yīng)一個字符(或控制碼),這些碼可以排列成一個十進制序號0127。所以,7位ASCII碼是用七位二進制數(shù)進行編碼的,可以表示128個字符。第032號及第127號(共34個)是控制字符或通訊專用字符,如控制符:LF(換行)、CR(回車)、FF(換頁)、DEL(刪除)、BEL(振鈴)等;通訊專用字符:SOH(文頭)、EOT(文尾)、ACK(確認)等;第33126號(共94個)是字符,其中第4857號為09十個阿拉伯?dāng)?shù)字;6590號為26個大寫英文字母,97122號為26個小寫英文字母,其余為一些標(biāo)點符號、運算符號等。注意:在計算機的存儲單元中,一個ASCII碼值占一個字節(jié)(8個二進制位),其最高位(b7)用作奇偶校驗位。所謂奇偶校驗,是指在代碼傳送過程中用來檢驗是否出現(xiàn)錯誤的一種方法,一般分奇校驗和偶校驗兩種。奇校驗規(guī)定:正確的代碼一個字節(jié)中1的個數(shù)必須是奇數(shù),若非奇數(shù),則在最高位b7添1;偶校驗規(guī)定:正確的代碼一個字節(jié)中1的個數(shù)必須是偶數(shù),若非偶數(shù),則在最高位b7添1。附:ASCII表ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 0NUT32(space)6496、1SOH33!65A97a2STX34”66B98b3ETX35#67C99c4EOT36$68D100d5ENQ37%69E101e6ACK38&70F102f7BEL39,71G103g8BS40(72H104h9HT41)73I105i10LF42*74J106j11VT43+75K107k12FF44,76L108l13CR45-77M109m14SO46.78N110n15SI47/79O111o16DLE48080P112p17DCI49181Q113q18DC250282R114r19DC351383X115s20DC452484T116t21NAK53585U117u22SYN54686V118v23TB55787W119w24CAN56888X120x25EM57989Y121y26SUB58:90Z122z27ESC59;9112328FS609412631US63?95127DELNULVT 垂直制表SYN 空轉(zhuǎn)同步SOH 標(biāo)題開始FF 走紙控制ETB 信息組傳送結(jié)束STX 正文開始CR 回車CAN 作廢ETX 正文結(jié)束SO 移位輸出EM 紙盡EOY 傳輸結(jié)束SI 移位輸入SUB 換置ENQ 詢問字符DLE 空格ESC 換碼ACK 承認DC1 設(shè)備控制1FS 文字分隔符BEL 報警DC2 設(shè)備控制2GS 組分隔符BS 退一格DC3 設(shè)備控制3RS 記錄分隔符HT 橫向列表DC4 設(shè)備控制4US 單元分隔符LF 換行NAK 否定DEL 刪除鍵盤常用ASCII碼 ESC鍵 VK_ESCAPE (27)回車鍵: VK_RETURN (13)TAB鍵: VK_TAB (9)Caps Lock鍵: VK_CAPITAL (20)Shift鍵: VK_SHIFT ($10)Ctrl鍵: VK_CONTROL (17)Alt鍵: VK_MENU (18)空格鍵: VK_SPACE ($20/32)退格鍵: VK_BACK (8)左徽標(biāo)鍵: VK_LWIN (91)右徽標(biāo)鍵: VK_LWIN (92)鼠標(biāo)右鍵快捷鍵:VK_APPS (93) Insert鍵: VK_INSERT (45)Home鍵: VK_HOME (36)Page Up: VK_PRIOR (33)PageDown: VK_NEXT (34)End鍵: VK_END (35)Delete鍵: VK_DELETE (46)方向鍵(): VK_LEFT (37)方向鍵(): VK_UP (38)方向鍵(): VK_RIGHT (39)方向鍵(): VK_DOWN (40)F1鍵: VK_F1 (112)F2鍵: VK_F2 (113)F3鍵: VK_F3 (114)F4鍵: VK_F4 (115)F5鍵: VK_F5 (116)F6鍵: VK_F6 (117)F7鍵: VK_F7 (118)F8鍵: VK_F8 (119)F9鍵: VK_F9 (120)F10鍵: VK_F10 (121)F11鍵: VK_F11 (122)F12鍵: VK_F12 (123)Num Lock鍵: VK_NUMLOCK (144)小鍵盤0: VK_NUMPAD0 (96)小鍵盤1: VK_NUMPAD0 (97)小鍵盤2: VK_NUMPAD0 (98)小鍵盤3: VK_NUMPAD0 (99)小鍵盤4: VK_NUMPAD0 (100)小鍵盤5: VK_NUMPAD0 (101)小鍵盤6: VK_NUMPAD0 (102)小鍵盤7: VK_NUMPAD0 (103)小鍵盤8: VK_NUMPAD0 (104)小鍵盤9: VK_NUMPAD0 (105)小鍵盤.: VK_DECIMAL (110)小鍵盤*: VK_MULTIPLY (106)小鍵盤+: VK_MULTIPLY (107)小鍵盤-: VK_SUBTRACT (109)小鍵盤/: VK_DIVIDE (111)Pause Break鍵: VK_PAUSE (19)Scroll Lock鍵: VK_SCROLL (145)posted 2007-03-02 22:24 路雪軍 閱讀(431) | 評論 (0) |編輯收藏 介紹一些經(jīng)典的網(wǎng)站和書籍因為要經(jīng)典,不敢寫得太多,歡迎大家繼續(xù)補充。這里只是涉及編程的東東,如果想要關(guān)于破解方面的資料請到“工具下載”欄目的置頂帖。ps.網(wǎng)上這些書的電子版大都是未經(jīng)作者同意而發(fā)布的,我并不能保證給出的鏈接長期有效。我的看法是您可以先下載試看;),如果覺得物有所值,還是推薦去買一本紙質(zhì)書,也是支持一下作者的辛勤勞動。有用的網(wǎng)站:MSDN Library/library/CSDN/經(jīng)典書籍:=WINDOWS編程類=Windows程序設(shè)計中文版(Programming Windows,Charles Petzold著)/SoftView/SoftView_673.asp這個不用我多廢話了,地球人都知道的經(jīng)典,用C語言+WinSDK寫成。Windows核心編程(Programming Applications for Microsoft Windows, Fourth Edition, Jeffrey Richter著)/asp/book/xxnr.asp?id=494內(nèi)容較深的一本書,同樣經(jīng)典,如果能通讀一遍,可以說基本上就掌握了Windows的精髓。Win32 ASM Tutorial Resource Kit/document/Win32ASMTRK.rar(解壓密碼:dREAMtHEATER)dREAMtHEATER收集的WIN32ASM教程,內(nèi)容很全,包括32位匯編的基礎(chǔ)知識,Iczelion的經(jīng)典教程中英文版,羅云彬的32位匯編教程,還有PE格式和VxD的一些內(nèi)容。Windows環(huán)境下32位匯編語言程序設(shè)計(羅云彬著)/asp/book/xxnr.asp?id=2243匯編語言版的Programmin Windows ,可以與上面Iczelion的教程相互參照著學(xué)習(xí)。=程序設(shè)計語言類=C語言程序設(shè)計(The C Programming Language (2nd Edition), Brian W.Kernighan & Dennis M.Ritchie著)作者是C語言和UNIX系統(tǒng)的發(fā)明人,這一本書是如此經(jīng)典,以至于兩位作者名字的縮寫 K&R 成了一個專有名詞,以至于書里的Hello,World這個簡單的句子被無數(shù)人用無數(shù)種程序語言寫出來。很薄的一本書,卻成了一個不朽的傳奇。個人看法,學(xué)好C語言,這一本小書足矣。C+語言程序設(shè)計(The C+ Programming Language (Special Editon),Bjarne Stroustrup著)作者是C+語言的發(fā)明人,這本書之于C+就好比上本書之于C,不同的是這本書巨厚無比,畢竟C+復(fù)雜了太多太多。這本書介紹到了C+的方方面面,巨細無遺,畢竟是作者發(fā)明的么,不過我只看了幾章就暈得受不了了。btw:關(guān)于C+的好書還有很多,如, , 、等等,因為我對C+不很感冒,這里不敢妄加評論,請大家多補充。再btw:對Java, .Net, Python這些新東東(Java好像也不新了吧,看來是我老了)了解不是很多,也不敢亂寫,同樣請各位補充。=面用對象WINDOWS編程類=也不知道這么說合適不合適,總之就是像MFC,VCL之類的東東啦。這類圖書大概是最多最雜的了,像什么XX從入門到精通啦,XX編程寶典啦, XX編程100例啦魚龍混雜,泥沙俱下,也說不出哪個是經(jīng)典。這里只選出幾本有一定深度的,大家基本公認的好書。深入淺出MFC(第二版)(侯捷著)侯捷網(wǎng)站:/關(guān)于侯先生寫的和譯的書,贊的人很多,罵的人也有,我是很推薦這本書的,雖然我不喜歡MFC,只硬著頭皮看了前幾章。感覺如果能通讀下來,可以試著自己架一個類庫了,呵呵。需要注意的是,讀這本書先要有一定的SDK編程的基礎(chǔ),這本書不是教你如何用VC寫程序的,好像有許多人不明白這一點,所以來罵侯先生,如果你只想快點用VC寫個程序出來,建議去看看21天VC+無師自通之類的書。btw:侯先生的網(wǎng)站上有很多有趣的東東,順便推薦一下。Delphi源代碼分析(周愛民著)我只在很早之前玩過Delphi,水平就是只知道Form上放幾個Button,Edit,雙擊兩下就開始寫代碼,因為以前學(xué)過Pascal,看著語法很熟悉,玩得不亦樂乎,什么也不管,N久以后才知道有Object Pascal這回事,汗因為N多大牛推薦這本書,所以我也推薦一下,雖然里面東西基本都不懂。同樣,這本書也不是教你如何畫個窗口擺個控件的,那樣的書遍地都是=數(shù)據(jù)結(jié)構(gòu)與算法類=算法、數(shù)據(jù)結(jié)構(gòu),這是計算機程序的靈魂所在。下面介紹的書可以在/2004/12/16/0000031024.html找到,而且那里有更詳細的評論,強烈推薦!Introduction to Algorightms (算法導(dǎo)論,Thomas.H.Cormen等著)此書簡稱CLRS(四位作者名字的縮寫),被人們稱做“計算機算法的圣經(jīng)”絕不為過,是ACM競賽的必讀書,影印版由高等教育出版社出版,共1180頁,厚度約五公分雖然書很厚而且是英文,但是由于大師深入淺出的講解,反而很好讀懂,有時候我學(xué)一個算法,看相關(guān)中文書看得一頭霧水,翻翻這本書卻能豁然開朗。The Art of Computer Programming vol1,2,3(計算機程序設(shè)計藝術(shù)I-III卷,Donald.E.Knuth著)簡稱TAOCP,經(jīng)典中的經(jīng)典,名氣可能比上一本書還大,此系列書原計劃出七卷,目前為止只出版了三卷,已經(jīng)被評為20世紀最重要的20部著作之一。因為里面用一種奇怪的程序語言寫成,而且只出了三卷,內(nèi)容沒有CLRS全面,這套我沒有買,只在圖書館里翻翻(有中譯本),但絕對是值得一看的好書。Concrete Mathematics A Foundation for Computer Science (具體數(shù)學(xué),Donald.E.Knuth & Ronald L.Graham著)同樣是ACM競賽必讀書之一,幾乎包含了所有計算機科學(xué)里涉及到的數(shù)學(xué)問題,里面有眾多的經(jīng)典問題與經(jīng)典解法,對開拓人的數(shù)學(xué)思路有極大的幫助。看這書給我的感覺是,如果你能把每章后面所有的習(xí)題都解出來,估計離圖靈獎也不遠了 =關(guān)于編程競賽=下面是幾個比較大的在線提交系統(tǒng)(Online Judge)里面有大量歷年的競賽題目,注冊一個ID,然后用自己熟悉的語言(一般有Pascal/C/C+/Java)寫好源代碼提交即可,會實時返回信息告訴你是否正確。采用黑箱測試,系統(tǒng)里有一套標(biāo)準的輸入輸出數(shù)據(jù)(對外保密,而且通常數(shù)據(jù)很多很怪),你的程序的輸出和標(biāo)準輸出完全符合即可。常見的返回信息有AC(Accepted,通過)WA(Wrong Answer,輸出有錯誤)TLE(Time Limit Exceeded,超時)MLE(Memory Limit Exceeded,內(nèi)存溢出)RE(Runtime Error,發(fā)生實時錯誤)等,只有AC了才算做對一題。這里只是一個簡要介紹,請大家在做題時先看看各網(wǎng)站上的FAQ,Enjoy it浙江大學(xué) Online Judge(ZOJ)國內(nèi)最早也是最有名氣的OJ,有很多高手在上面做題。特點是數(shù)據(jù)比較刁鉆,經(jīng)常會有你想不到的邊界數(shù)據(jù),很能考驗思維的全面性,現(xiàn)在我主要在這個OJ上做題北京大學(xué) Online Judge(POJ)/JudgeOnline/建立較晚,但題目加得很快,現(xiàn)在題數(shù)和ZOJ不相上下,特點是舉行在線比賽比較多,數(shù)據(jù)比ZOJ上的要弱,有時候同樣的題同樣的程序,在ZOJ上WA,在POJ上就能AC同濟大學(xué) Online Judge /index.php這個OJ題數(shù)上不能與上兩個相比,推薦這個OJ的原因是它是中文的,這對很多對英文不太感冒的兄弟是個好消息吧。它也因此吸引了眾多高中的OIer,畢竟他們的英文還差一些呵呵,上面的題目也更偏向高中的信息學(xué)競賽一些。西班牙Valladolid大學(xué) Online Judge(UVA)http:/online-judge.uva.es/problemset/世界上最大最有名的OJ,題目巨多而且巨雜,數(shù)據(jù)也很刁鉆,全世界的頂尖高手都在上面。據(jù)說如果你能在UVA上AC一千道題以上,就盡管向IBM、微軟什么的發(fā)簡歷吧,絕對不會讓你失望的。俄羅斯Ural立大學(xué) Online Judge(URAL)http:/acm.timus.ru/也是一個老牌的OJ,題目不多,但題題經(jīng)典,我在高中的時候就在這上面做題的。 UsacoGate Online Judge(USACO)/usacogate全美計算機奧林匹克競賽(USACO)的訓(xùn)練網(wǎng)站,特點是做完一關(guān)才能繼續(xù)往下做,與前面的OJ不同的是測試數(shù)據(jù)可以看到,并且做對后可以看標(biāo)準解答,所以如果大家剛開始的時候在上面那些OJ上總WA卻找不到原因的話,可以試著來這里做做,看看測試數(shù)據(jù)一般是從什么地方陰你的。posted 2007-03-02 21:12 路雪軍 閱讀(344) | 評論 (0) |編輯收藏 runtime error一般都是非法訪問內(nèi)存(數(shù)組越界、訪問空指針、堆棧溢出、遞歸層數(shù)太多)、做除法時除以了0 等posted 2007-03-02 20:27 路雪軍 閱讀(148) | 評論 (0) |編輯收藏 memset用法詳解(轉(zhuǎn))memest原型(pleasetypemanmemsetinyourshell)void*memset(void*s,intc,size_tn);memset:作用是在一段內(nèi)存塊中填充某個給定的值,它對較大的結(jié)構(gòu)體或數(shù)組進行清零操作的一種最快方法。 常見的三種錯誤 第一:搞反了c和n的位置.一定要記住如果要把一個chara20清零,一定是memset(a,0,20)而不是memset(a,20,0)第二:過度使用memset,我想這些程序員可能有某種心理陰影,他們懼怕未經(jīng)初始化的內(nèi)存,所以他們會寫出這樣的代碼:charbuffer20;memset(buffer,0,sizeof(char)*20);strcpy(buffer,123);這里的memset是多余的.因為這塊內(nèi)存馬上就被覆蓋了,清零沒有意義.第三:其實這個錯誤嚴格來講不能算用錯memset,但是它經(jīng)常在使用memset的場合出現(xiàn)intsome_func(structsomething*a)memset(a,0,sizeof(a);問:為何要用memset置零?memset(&Address,0,sizeof(Address);經(jīng)??吹竭@樣的用法,其實不用的話,分配數(shù)據(jù)的時候,剩余的空間也會置零的。答: 1.如果不清空,可能會在測試當(dāng)中出現(xiàn)野值。你做下面的試驗看看結(jié)果()charbuf5;CStringstr,str1;/memset(buf,0,sizeof(buf);for(inti=0;i5;i+)str.Format(“%d“,bufi);str1+=str;TRACE(“%srn“,str1)2.其實不然!特別是對于字符指針類型的,剩余的部分通常是不會為0的,不妨作一個試驗,定義一個字符數(shù)組,并輸入一串字符,如果不用memset實現(xiàn)清零,使用MessageBox顯示出來就會有亂碼(0表示NULL,如果有,就默認字符結(jié)束,不會輸出后面的亂碼)問: 如下demo是可以的,能把數(shù)組中的元素值都設(shè)置成字符1,#include#includeusingnamespacestd;intmain()chara5;memset(a,1,5);for(inti=0;i5;i+)coutai;system(pause);return0;而,如下程序想吧數(shù)組中的元素值設(shè)置成1,卻是不可行的#include#includeusingnamespacestd;intmain()inta5;memset(a,1,5);/這里改成memset(a,1,5*sizeof(int)也是不可以的for(inti=0;i5;i+)coutai;system(pause);return0;問題是:1,第一個程序為什么可以,而第二個不行,2,不想要用for,或是while循環(huán)來初始化inta5;能做到嗎?(有沒有一個像memset()這樣的函數(shù)初始化)答: 1.因為第一個程序的數(shù)組a是字符型的,字符型占據(jù)內(nèi)存大小是1Byte,而memset函數(shù)也是以字節(jié)為單位進行賦值的,所以你輸出沒有問題。而第二個程序a是整型的,使用memset還是按字節(jié)賦值,這樣賦值完以后,每個數(shù)組元素的值實際上是0x01010101即十進制的16843009。你看看你輸出結(jié)果是否這樣?2.如果用memset(a,1,20);就是對a指向的內(nèi)存的20個字節(jié)進行賦值,每個都用ASCII為1的字符去填充,轉(zhuǎn)為二進制后,1就是00000001,占一個字節(jié)。一個INT元素是4字節(jié),合一起就是1000000010000000100000001,就等于16843009,就完成了對一個INT元素的賦值了。posted 2007-03-02 19:02 路雪軍 閱讀(1509) | 評論 (0) |編輯收藏 acm之pku題目分類 acm之pku題目分類 對ACM有興趣的同學(xué)們可以看看DP:1011 NTA 簡單題1013 Great Equipment 簡單題1024 Calendar Game 簡單題1027 Human Gene Functions 簡單題1037 Gridland 簡單題1052 Algernon s Noxious Emissions 簡單題1409 Communication System 簡單題,但是很容易看錯1425 Crossed Matchings 簡單題1438 Asteroids! 簡單題1459 String Distance and Transform Process 簡單題1462 Team Them Up! 簡單題1556 Heroes Of Might And Magic 簡單題,不過背景蠻有意思的1520 Duty Free Shop 簡單題1524 Supermarket 簡單題1301 The New Villa 簡單題1303 Jury Compromise 其實不是很難,但是很容易錯,5551345 Best Deal 簡單題,但是也很容易錯5551360 Radar Installation 簡單題1396 The Umbrella Problem: 2054 簡單題1058 Currency Exchange 簡單題1076 Gene Assembly 簡單題1092 Arbitrage 簡單題1093 Monkey and Banana 簡單題1094 Matrix Chain Multiplication 簡單題1536 Labyrinth 簡單題1100 Mondriaan s Dream 簡單題,DP可以過,不過據(jù)說有復(fù)雜的組合公式1103 Hike on a Graph 簡單題1134 Strategic Game 簡單題1147 Formatting Text 簡單題1148 The Game 簡單題1161 Gone Fishing 簡單題1180 Self Numbers 簡單題1192 It s not a Bug, It s a Feature! 簡單題1196 Fast Food 簡單題1107 FatMouse and Cheese 簡單題,不過題目描述有些混亂1136 Multiple 簡單題,BFS1276 Optimal Array Multiplication Sequence 簡單題1255 The Path 簡單題1250 Always On the Run 簡單題1213 Lumber Cutting 簡單題1206 Win the Bonus 簡單題1479 Dweep 無聊題1587 UP 100 無聊題,DP應(yīng)該可以但是太煩了沒做1066 Square Ice 無聊題,目前已知的O(nlogn)算法要用*L您有沒有簡單點的O(nlogn)的算法?1245 Triangles 無聊題1022 Parallel Expectations 經(jīng)典題,想了n久,最后發(fā)現(xiàn)可以DP,相當(dāng)好的一道題1499 Increasing Sequences 經(jīng)典題1039 Number Game 沒有完美解決的題,感覺可以直接以所有剩下的數(shù)作為狀態(tài)DP,但是缺乏證明1227 Free Candies SRbGa的經(jīng)典題,我看了oibh上的解題報告才做出來的:(1234 Chopsticks SRbGa的經(jīng)典題圖論:1525 Air Raid 簡單題,最小路徑覆蓋1500 Pre-Post-erous! 簡單題1501 Knockout Tournament 簡單題1508 Intervals 對您來說應(yīng)該是簡單題,但我想了n久:(,差分限制系統(tǒng)1333 Galactic Import 簡單題1304 Tin Cutter 簡單題,但是似乎有空間復(fù)雜度為O(n)的算法1310 Robot 簡單題1311 Network 簡單題1344 A Mazing Problem 簡單題1395 Door Man 簡單題,歐拉回路1372 Networking 簡單題1406 Jungle Roads 簡單題1053 FDNY to the Rescue! 簡單題1055 Oh, Those Achin Feet 不錯的簡單題1059 What s In a Name 簡單題1064 Roads Scholar 簡單題1082 Stockbroker Grapevine 簡單題1085 Alien Security 簡單題,我覺得我當(dāng)時的算法好巧妙:)1097 Code the Tree 簡單題1060 Sorting It All Out 簡單題,但是規(guī)模要是大些的話1105 FatMouse s Tour 簡單題1119 SPF 簡單題1127 Roman Forts 簡單題1140 Courses 簡單題1157 A Plug for UNIX 蠻不錯的簡單題1203 Swordfish 簡單題1221 Risk 簡單題,最短路1197 Sorting Slides 簡單題,匹配1268 Is It A Tree? 不錯的題,圖論1273 It s Ir-Resist-Able! 簡單題,圖論1298 Domino Effect 簡單題,最長路1260 King 簡單題,差分限制系統(tǒng)1291 MPI Maelstrom 不錯的題,最長路1266 Gossiping 簡單題1285 Shipping Routes 無聊題,最短路1313 Gears on a Board 無聊題1502 Plugged In 無聊題,匹配應(yīng)該可以,但是太煩了,沒做1568 WishingBone s Room Plan 無聊題,最大最小匹配,不過容易看錯題1077 Genet

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論