資料介紹
參加程序設(shè)計(jì)大賽的須知資料
最負(fù)盛名的程序設(shè)計(jì)競(jìng)賽程序設(shè)計(jì)競(jìng)賽有著各種各樣的形式,在此,我們來(lái)介紹其中最負(fù)盛名的幾個(gè)。
1.2.1 世界規(guī)模的大賽——Google Code Jam(GCJ)它是Google公司幾乎每年都會(huì)舉辦的世界規(guī)模的程序設(shè)計(jì)競(jìng)賽,參賽者要在2~3小時(shí)內(nèi)解決大約4 道題。一旦從在線(Online)進(jìn)行的幾輪預(yù)選中勝出,就能夠參加現(xiàn)場(chǎng)(Onsite)總決賽。該賽事的特點(diǎn)是,每道題都備有Small和Large兩組輸入數(shù)據(jù)。即便是難度系數(shù)較大的問(wèn)題,只要輸入規(guī)模足夠小,依然可以簡(jiǎn)單地求解,這一形式深受廣大參賽者的喜歡。另外,GCJ并不在服務(wù)器上自動(dòng)執(zhí)行程序,而是要求將源代碼和本地執(zhí)行的結(jié)果一同提交。
1.2.2 向高排名看齊!——TopCoder TopCoder公司是一家策劃并舉辦程序設(shè)計(jì)競(jìng)賽的公司,它舉辦的比賽涉及多個(gè)領(lǐng)域。其中之一就是算法(Algorithm)比賽,該賽事大致每周都以SRM(Single Round Match)的形式舉辦一場(chǎng),其具有以下特點(diǎn)。 (1) 在 1 小時(shí) 15 分鐘的短時(shí)間內(nèi)挑戰(zhàn) 3 道題。 (2) 提交的結(jié)果在比賽結(jié)束前是不知道的,整個(gè)過(guò)程中稍有失誤,就會(huì)變成 0 分。 (3) 在編碼階段(coding phase)結(jié)束后,還有一個(gè)挑戰(zhàn)階段(challege phase)。該階段可以查找別人代碼中的漏洞。如果能夠提供一組輸入數(shù)據(jù),使別人的程序返回錯(cuò)誤的結(jié)果,就能得到額外的分?jǐn)?shù)。其中第3條是該賽事獨(dú)一無(wú)二的特點(diǎn)①,也是閱讀別人代碼的好機(jī)會(huì)。TopCoder還有一個(gè)深受大家喜歡的等級(jí)分系統(tǒng)(rating system),它會(huì)依據(jù)SRM的結(jié)果給參賽選手排名。另外,TopCoder還會(huì)舉辦一年一度的TCO(TopCoder Open)公開(kāi)賽。一旦從在線進(jìn)行的幾輪預(yù)選中勝出,就能夠參加在拉斯維加斯②舉辦的總決賽。
1.2.3 歷史最悠久的競(jìng)賽——ACM-ICPC ACM-ICPC是由美國(guó)計(jì)算機(jī)協(xié)會(huì)(ACM)主辦的、面向大學(xué)生的競(jìng)賽,也是歷史最悠久的程序設(shè)計(jì)競(jìng)賽。這是一個(gè)三人一隊(duì)的團(tuán)隊(duì)比賽,選手要在5個(gè)小時(shí)內(nèi)解決大約10道題。因?yàn)楸荣愔腥x手共用一臺(tái)電腦,題量又比其他賽事多,并且多是一些實(shí)現(xiàn)復(fù)雜的問(wèn)題,所以團(tuán)隊(duì)配合顯得異常重要。想要從日本參加該項(xiàng)賽事,首先要參加在線進(jìn)行的國(guó)內(nèi)預(yù)選賽,勝出后才能參加亞洲區(qū)域賽,取得前幾名的好成績(jī)后才能夠參加世界總決賽。①
1.2.4 面向中學(xué)生的信息學(xué)奧林匹克競(jìng)賽——JOI-IOI 信息學(xué)奧林匹克競(jìng)賽是學(xué)科奧林匹克競(jìng)賽的一種,是以初中生和高中生為參賽對(duì)象的程序設(shè)計(jì)競(jìng)賽。在日本,首先要參加日本信息學(xué)奧林匹克競(jìng)賽,取得優(yōu)異成績(jī)后,才能作為日本國(guó)家隊(duì)選手參加國(guó)際信息學(xué)奧林匹克競(jìng)賽。②其他比賽都需要盡可能快地解決盡可能多的問(wèn)題,而信息學(xué)奧林匹克競(jìng)賽只要在規(guī)定時(shí)間內(nèi)求解問(wèn)題即可,成績(jī)與所用時(shí)間無(wú)關(guān),但是它相對(duì)其他比賽而言,求解每道題所花的時(shí)間要長(zhǎng)得多。雖然是面向中學(xué)生的比賽,每年所出問(wèn)題的難度卻是非常高的。
1.2.5 通過(guò)網(wǎng)絡(luò)自動(dòng)評(píng)測(cè)——Online Judge(OJ)在互聯(lián)網(wǎng)上,有一些被稱為Online Judge的系統(tǒng),它們能夠自動(dòng)評(píng)測(cè)以往程序設(shè)計(jì)競(jìng)賽中的題目。利用該系統(tǒng)就可以練習(xí)了。另外,其中一些Online Judge也會(huì)定期舉辦自己的比賽,不妨去參加一下。在此列舉幾個(gè)有名的Online Judge。? PKU Online Judge (POJ)——http://poj.org/ 題庫(kù)中有大量的題目。? 會(huì)津大學(xué)Online Judge(AOJ)——http://judge.u-aizu.ac.jp/onlinejudge/ 還包含日語(yǔ)題。? Sphere Online Judge(SPOJ)——http://www.spoj.pl/ 允許使用各種各樣的編程語(yǔ)言。? SGU Online Contester——http://acm.sgu.ru/ 具有模擬參加歷史比賽的虛擬賽功能。? UVa Online Judge——http://uva.onlinejudge.org/ 老字號(hào)Online Judge,經(jīng)常舉辦比賽。? Codecorces——http://codeforces.com/ 與TopCoder一樣定期舉辦比賽,又同其他網(wǎng)站一樣不斷維護(hù)歷屆題庫(kù)。
1.3 本書(shū)的使用方法在此,就本書(shū)所涉及的內(nèi)容、使用方法及注意點(diǎn)做一下說(shuō)明。
1.3.1 本書(shū)所涉及的內(nèi)容本書(shū)主要講解程序設(shè)計(jì)競(jìng)賽中的經(jīng)典問(wèn)題和基礎(chǔ)算法,并介紹便捷的實(shí)用技巧。如果僅僅是死記經(jīng)典問(wèn)題和基礎(chǔ)算法,遇到難解的應(yīng)用問(wèn)題或是需要靈活想象力的問(wèn)題時(shí),仍然會(huì)難以下手。因此,為了加深理解,我們通過(guò)選自POJ的經(jīng)典題和部分原創(chuàng)題來(lái)介紹實(shí)踐中的例子。另外,每章末尾都備有挑戰(zhàn)GCJ中實(shí)戰(zhàn)題目的小欄目,里面都是精選出來(lái)的題目。盡管要找到正確的解法恐怕不太容易,還是建議讀者先自己試著多思考一下。在此基礎(chǔ)上再閱讀題解,能夠得到更深刻的理解。當(dāng)然,在本書(shū)所介紹的解法之外,還會(huì)有更簡(jiǎn)潔或更高效的解法。大家不妨多試著去思考一下別的解法。
1.3.2 所用的編程語(yǔ)言比賽中可用的編程語(yǔ)言各色各異,而C++在幾乎所有比賽中都可用。它的運(yùn)行速度快,庫(kù)函數(shù)豐富,因而人氣很高。本書(shū)選擇C++作為所用的編程語(yǔ)言,并基本按照g++的規(guī)范來(lái)編寫(xiě)源代碼。
1.3.3 題目描述的處理在世界規(guī)模的大賽中,理所當(dāng)然是用英語(yǔ)來(lái)描述題目的。不過(guò),因?yàn)轭}目描述中的英語(yǔ)不那么難,所用的單詞往往也非常有限,所以很快就能習(xí)慣。當(dāng)然,這不是英語(yǔ)考試,字典也是允許自由使用的。另外,其中有些比賽會(huì)針對(duì)日本選手提供日語(yǔ)版的題目描述。英語(yǔ)的閱讀理解不是題目的關(guān)鍵,因此本書(shū)的題目都與最開(kāi)始的例子一樣用中文概述①。
1.3.4 程序結(jié)構(gòu)在許多比賽中,程序都從標(biāo)準(zhǔn)輸入按指定格式讀入數(shù)據(jù)。輸入并非問(wèn)題的關(guān)鍵,所以本書(shū)的程序
- C語(yǔ)言程序設(shè)計(jì)第四講結(jié)構(gòu)化程序設(shè)計(jì)之選擇 0次下載
- Python的程序設(shè)計(jì)資料合集 22次下載
- Linux窗口程序設(shè)計(jì) 12次下載
- 匯編程序設(shè)計(jì)的教程課件免費(fèi)下載 17次下載
- JAVA程序設(shè)計(jì)教程之JSP程序設(shè)計(jì)實(shí)驗(yàn) 6次下載
- C++程序設(shè)計(jì)教程之程序設(shè)計(jì)初步資料說(shuō)明 7次下載
- Visual FoxPro程序設(shè)計(jì)教程之結(jié)構(gòu)化程序設(shè)計(jì)的詳細(xì)資料說(shuō)明 8次下載
- VB程序設(shè)計(jì)電子教程之圖形程序設(shè)計(jì)的詳細(xì)資料說(shuō)明 13次下載
- C語(yǔ)言程序設(shè)計(jì)教程之選擇結(jié)構(gòu)程序設(shè)計(jì)的資料說(shuō)明 4次下載
- C語(yǔ)言程序設(shè)計(jì)教程之分支結(jié)構(gòu)程序設(shè)計(jì)的課件免費(fèi)下載 6次下載
- 簡(jiǎn)單的C程序設(shè)計(jì)教程之順序程序設(shè)計(jì)的資料概述 4次下載
- 面向?qū)ο蟮?b class="flag-6" style="color: red">程序設(shè)計(jì)總結(jié)與過(guò)程化程序設(shè)計(jì)有什么區(qū)別? 0次下載
- 南橋杯第二屆程序設(shè)計(jì)競(jìng)賽 0次下載
- 一種基于ACM程序設(shè)計(jì)競(jìng)賽在線評(píng)測(cè)系統(tǒng)解決方案
- 實(shí)用算法分析與程序設(shè)計(jì) 0次下載
- PLC程序設(shè)計(jì)常用方法總結(jié) 5402次閱讀
- 淺談項(xiàng)目中的程序設(shè)計(jì)思路與步驟 1338次閱讀
- 解析PLC梯形圖程序設(shè)計(jì) 1610次閱讀
- RTOS應(yīng)用程序設(shè)計(jì)的五個(gè)實(shí)戰(zhàn)技巧 1119次閱讀
- 如何利用邏輯設(shè)計(jì)法進(jìn)行PLC的程序設(shè)計(jì) 4017次閱讀
- PIC系列單片機(jī)程序設(shè)計(jì)基礎(chǔ)知識(shí)詳細(xì)說(shuō)明 4638次閱讀
- 介紹MATLAB程序設(shè)計(jì)中M程序及使用方法 7018次閱讀
- dsp28335如何入門(mén):程序設(shè)計(jì)步驟 1.9w次閱讀
- 基于vhdl蜂鳴器程序設(shè)計(jì)詳解 2.1w次閱讀
- vhdl數(shù)碼管動(dòng)態(tài)掃描程序設(shè)計(jì)(四種設(shè)計(jì)方案) 1.8w次閱讀
- 由傳統(tǒng)電工圖轉(zhuǎn)換為階梯圖的過(guò)程,淺談程序設(shè)計(jì) 5557次閱讀
- 單片機(jī)C語(yǔ)言程序設(shè)計(jì):TIMER0與TIMER1控制條形LED 3999次閱讀
- 程序設(shè)計(jì)基礎(chǔ):字符能像整數(shù)一樣計(jì)算 4532次閱讀
- 單片機(jī)與程序設(shè)計(jì)(下) 2919次閱讀
- 單片機(jī)與程序設(shè)計(jì)(上) 3890次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1490次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 93次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
- 4.28 MB | 18次下載 | 4 積分
- 5開(kāi)關(guān)電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費(fèi)
- 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
- 7基于單片機(jī)和 SG3525的程控開(kāi)關(guān)電源設(shè)計(jì)
- 0.23 MB | 3次下載 | 免費(fèi)
- 8基于單片機(jī)的紅外風(fēng)扇遙控
- 0.23 MB | 3次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論