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

The Fourth Dimension Space

枯葉北風寒,忽然年以殘,念往昔,語默心酸。二十光陰無一物,韶光賤,寐難安; 不畏形影單,道途阻且慢,哪曲折,如渡飛湍。斬浪劈波酬壯志,同把酒,共言歡! -如夢令

TOPCODER入門教程(轉)

本文根據經典的TC教程完善和改編。
TopCoder:
http://www.topcoder.com/

基本規則
TopCoder的比賽類型很多,最常見的是周賽SRM(Single Round Match),另外還有TCHS SRM(TopCoder High School SRM,題目和SRM一樣,僅限中學生參加,參賽者水平較低,據說漲rating很容易),馬拉松(Marathon Matchs),還有TCOpen(每年兩次的大比賽)之類的比賽。因為大多數人都在做SRM,所以本文介紹的TC比賽即為SRM。
SRM的規則總結起來就是一句話:75分鐘做完3道難度遞增的題。
TC的每個用戶(handle)都有自己的積分(rating),從0-3000+不等。成績越好,分數越高。
積分與顏色的對應為:白色——未參賽(unrated);灰色——0~899;綠色——900~1199;藍色——1200~1499;黃色——1500~2199;紅色——2200+。另外排名最高的幾個人在TC客戶端中會變成紅色靶子圖標。
比賽分為兩個Division,Div I和Div II。白色灰色和綠色的參加Div II,藍色黃色和紅色的參加Div I。Div I的題要比Div II難許多,一般DivII的最后一題和Div I的第一或第二題是一樣的。無論是Div I或Div II。三道題目的Score一般為250, 500和1000。
TC的計分規則很詭異,可以見http://www.topcoder.com/wiki/display/tc/Algorithm+Competition+Rating+System,但基本是沒人看的懂。不過,TC積分規則的基本思想很簡單。
首先是SRM每道題的計分規則。題目從打開開始計時,隨著時間的流逝,你這道題目可能得到的分數也越來越少。不過分數減少的速率會逐漸變慢(有人說是先快后慢再快再慢,我不清楚到底哪個是對的,不過總體趨勢是越來越慢),一般1000分的題目在降低到300分的時候就基本不會再下降太多了。每道題點擊Submit才算正式提交,如果Submit之后發現錯誤,還可以再次點擊Submit修改提交,不過這樣會扣除這道題一定的分數。
其次是TC的計分規則。復雜的數學公式很難看懂,但大概的計分思想是:根據此次比賽的得分算出一個這次比賽的rank,然后和以前的rank做比較,求出一個期望的rank,再根據這個期望的rank調整rating。而有時也會出現考得很砸但依然漲rating的情況,不過總體來說TC的計分公式是十分穩定的。

運行環境
TC的客戶端是一個Java程序,所以需要JRE(Java Runtime Environment)或者JDK(Java Development Kit)來運行。如果平時不寫Java程序的話,裝JRE就可以了。畢竟JDK比JRE大一個數量級,下載慢。安裝照著提示完成就行了。推薦使用1.4.1以后的版本,因為帶了java web start,可以快速登陸。具體方法下一部分講。
JRE下載地址(中文):
http://www.java.com/zh_CN/download/index.jsp

注冊
原文在注冊的地方沒有詳細說明,但很多人似乎對注冊都有疑問。所以這里我來注冊一個小號,并通過整個過程講解如何注冊。
首先打開http://www.topcoder.com/tc(本文后面TopCoder的主頁都指這個網址),然后點擊右上角的Register Now(沒看到?你可能看到了一個Login,目光向下挪一點,那個紅底白字的“Register Now”就在下面)。接下來會彈出http://www.topcoder.com/reg這個頁面,因為我們要參加SRM,所以選擇第一個,Competition Registration。如果要參加TCHS可以選擇第二個High School (Secondary School) Registration。這些以后都可以更改(這里沒有選的如果以后要選上,只需要更新個人設置并挑勾;如果選上的要撤銷選擇則需要點一個“Unregister”的鏈接)。這里選擇項目的多少和后面的頁面需要填寫內容的多少相關,本文以只選擇第一項為例。
需要填寫的項目和對應的中文翻譯如下:

* Given Name:  名
* Surname:     姓
* Address1:  地址1
Address2:  地址2
Address3:  地址3(如果一行寫不開,就在三行中分別寫)
* City:   城市
State (US Only):  地區(不在美國就不用選)
Postal Code:  郵編
Province:  省
* Country:  國家
* Country to represent:  代表國家(不知道啥意思,中國人兩個都填China就行)
* Timezone:  時區(選Asia/Chongqing)
Phone Number:  電話號碼
* Email Address:  電子郵件
* Confirm Email Address:  確認電子郵件地址(就是把電子郵件地址重新打一遍)
Email Notifications:  郵件提醒(就是它給你發郵件提醒什么東西)
- Algorithm Competitions  算法比賽,就是SRM和TCOpen
- Software Development Opportunities  貌似就是有軟件開發的項目就告訴你
- Employment Opportunities  工作機會
- TopCoder News & Events  新聞
* Enable Member Contact:  允許成員聯系(似乎就是說是不是讓別人在TC上能找到你)
* Show / hide earnings:  顯示/隱藏收入(大概是說別人是不是能看到你賺了多少錢,TC的比賽可是有錢賺的)
* User Name:  用戶名(下面的話提醒你一定不要填錯,因為注冊多個用戶是不符合規定的。據說有人因為別人在TC客戶端和他打招呼說“怎么你拿小號上了”,那個人的號就被封了)
* Password:  密碼
* Confirm Password:  確認密碼
* Secret Question:  密碼找回問題(找回密碼時需要回答這個問題,注意至少要8個字符長,而一個中文字似乎算一個字符,所以最后可能要打幾個問號補齊長度)
* Secret Question Response:  密碼找回問題答案
Quote:  座右銘,就是個簽名檔之類的東西
* Student/Professional:  學生/職業程序員
* = required  帶*的項目必填

填寫之后點Term of Use下面的I Agree,再點Submit,完成提交。除了用戶名別的以后似乎都可以改。
接下來進入Demographics頁面,這個大概相當于一個注冊用戶情況調查。

* Age :  年齡
* Gender :  性別(Male男,Female女)
* Ethnic Background :  民族背景(似乎選Asian or Pacific Islander就行吧……)
* Primary Interest in TopCoder :  在TC的主要興趣,看不懂的就選第一個吧,那個是說你的興趣在獎金……
* Shirt Size :  T-Shirt大小(有的比賽會給排名前N的選手發T-Shirt,這里你需要選擇適合自己的大小,如果選最后一個說明你不想要T-Shirt,人家也不發你了。TC的T-Shirt還是挺好看的,比AStar的好)
* College Major :  大學的專業
* College Major Description :  這個不知道啥意思,隨便填點東西就行……
* Degree Program :  學位(從上到下分別為:準學士,學士,碩士,博士,中學生)
* Graduation Year :  畢業年份
* Graduation Month :  畢業月份
* Clubs / Organizations :  組織(一般選None,可以按住Ctrl點鼠標多選)
Other Clubs / Organizations :  其它組織
* School:  學校(點Choose School選擇學校,可以搜索,不過為啥shanghaijiaotong university才2個人注冊?!)
* Show / hide my school:  顯示/隱藏我的學校
GPA:  不懂的自己百度去……
GPA Scale:  同上
Resume:  簡歷
* How did you hear about TopCoder?:  你怎么知道的TC,如果選了“Member Referral”的話,需要填寫那個人在TC的用戶名(歡迎填寫sqybi~)
* = required

點Submit,進入Confirm頁面,確認信息。如果有誤可以點Edit修改,否則點最下面的Confirm提交。
接下來進入Success,提示你已經發送一封郵件到你的郵箱中,你必須去點擊里面的鏈接激活用戶。激活之后就可以使用這個用戶了。

登錄
登錄的方法一般都是使用Java Web Start。
在TopCoder主頁(
http://www.topcoder.com/tc)最下方有一段話,第一句是“Load the Arena as an Applet or as a Java Web Start Application”。點“Java Web Start Application”,就會自動下載登陸需要的文件(一個jnlp格式的文件,本機裝了JRE/JDK才能打開)。經測試在IE7下這個鏈接似乎不管用,在Firefox 3下正常。
然后運行下載下來的jnlp文件,就打開了TC客戶端。第一次運行和有更新的時候會自動下載安裝程序,等待即可,很快。
在我這里有時會提示“語法錯誤”,但沒有任何影響,點“確定”就可以。啟動可能會慢一些,耐心等待。
然后輸入用戶名密碼,在Connection的地方選合適的登錄方式(一般Direct就行,如果不行的話可以試試別的或者用AUTODETECT自動檢測),在PROXY處設置代理,點GO登陸。這時可能還會提示語法錯誤,再確定就行,這個也沒有什么影響。

界面
下面的圖們來自原文,很經典,不打算改動了。請使用等寬字體瀏覽。
主界面:
———————————————————————–
|   Advertisements………….                                       |
———————————————————————–
| Main | Lobbies | Options | Practice Rooms | Active Contests | Help ||
———————————————————————–
|                                                 | Clock |           |
———————————————————————–
| Rating Key | Who’s here |                 Chat Area                 |
|     .      |            |                                           |
|     .      |            |                                           |
|     .      |            |                                           |
|     .      |            |                                           |
|     .      |            |                                           |
|————|            |                                           |
|  MESSAGES  |            |                                           |
|————|            |                                           |
|LEADER BOARD|            |                                           |
|————|            |                                           |
|            |            |                                           |
|            |            |——————————————-|
|            |            | >>_______________________________________ |
———————————————————————–
Advertisements 廣告。
菜單項:
- Main里可以看在線名單和找人。
- Lobbies基本用不著,因為用戶一般都在Chat Room 1。
- Options里是一些選項和顏色設置。
- Practice Rooms里有大量的練習,都是以前比賽的題目
- Active Contests只有有比賽的時候才有用,顯示當前正在進行和將要進行的比賽以及比賽注冊之類的東西。
- Help里是….不用說了吧。
Rating Key: handle的顏色是隨著積分而改變的,這里顯示了積分與顏色的關系。
MESSAGES: 比賽的時候這里有注冊提示和clarification。
LEADER BOARD: 看每個room的最高分。
Who’s here: 當前room里的人。
Chat Area: 聊天。

練習
在Practice Rooms里隨便選擇一個room就可以進入practice了。
界面與主頁面稍有變化,但基本相同,略去不畫。主要的變化就是Who’s here分成了兩塊,多了一塊Who’s assigned。這塊顯示的是誰被分到了這個room。因為是練習區,所以只要是在這里打開過題的都算是assigned。而在正式比賽中room是由TC分配的。這里顯示的是被分配到這個room的人。界面上還有一個變化是Chat Area頂上多了三塊。最左邊的是一個下拉菜單。里面有三個分值,選擇后就可以打開相應的題目。中間的summary可以看這個room里每個人的提交情況。
在practice room里只有coding phase。提交后要判的話需要自己選擇Practice Options(多出來的菜單項)里的Run System Test。

比賽
每次比賽(除了1年兩次的大賽)都需要在賽前3小時-5分鐘之間登陸注冊方可參加,注冊需要在Active Contest菜單中,選擇你要參加的那個比賽,再選擇Register。注意比賽前5分鐘注冊停止,這時候如果沒有注冊就不能參賽了。而注冊了沒有打開題目也視為沒有參賽,rating不變動。
然后TopCoder開始根據每個人的rating分配room,一般每個room都有高手和菜鳥,只不過如果你的rating高,和高手分在一起的概率高一些(當然也不一定是這樣,比如我上次就和yuhch大牛分在了一起……)
分配完成后,Active Contest菜單中Register一項變成Enter。選擇后可以直接進入你被分配到的room。Active Contest菜單最下面還有一項暗色背景的Room子菜單,可以進入各個room溜達。
進入自己room的時候一般離開始只有3分鐘左右,靜一下心就可以直接開始比賽了。coding phase的過程與practice基本相同。注意每題的得分是和用的時間相關(見前面的計分規則),而時間是從你打開該題開始算的。所以一題做完后可以不急著打開下一題,先放松一下。
75分鐘的coding后是5分鐘的intermission,這段時間是用來休息和聊天的。
然后就是最刺激的15分鐘challenge phase,也就是通常說的cha人。打開summary,雙擊別人的各題Score可以打開那題的程序,如果覺得有錯誤就可以點左下的Challenge然后輸入你認為他會錯的輸入數據,如果輸入數據合法那么系統會用標程的輸出和這個程序的輸出對比,如果出現不同則cha人成功。成功的話你能得到50分,對方該題分數為0;而如果失敗了,你會被減去25分。每個程序只能成功被cha一次,也就是說,如果有人cha掉了這個程序,你就不能再次cha。但是一個人可以cha某個程序很多次,直到這個程序被cha掉或者你放棄。
Challenge結束后就是System Test。這個過程一般比較慢,可以先走開做其他事,過20分鐘再回來看結果。System Test中的測試數據有兩種:一種是出題者準備的測試數據,一種是成功cha掉別人的數據。所以,TC中很少出現有bug的程序能通過System Test的情況。
結果出來后再過一段時間,就可以看到一系列message,比如rating更新了,新的practice room建好了以及可以通過主頁查看這次比賽的數據了。這時比賽就宣告結束。

注意事項
1.在TC主頁(
http://www.topcoder.com/tc)上可以看到Next SRM,這是下次SRM的時間。注意我們的時間與他們剛好相差12小時,因此若時間是7月9日9:00 PM的話,這里是7月10日9:00 AM。還有要注意的是美國有夏令時,非夏令時的時候,還要再加1小時,就是7月10日10:00 AM。
2.Practice Rooms里寫的程序只要點SAVE就可以保存,下次login的時候還可以看到,但是比賽時候的程序必須Submit才可以在coding phase結束后保存(coding phase結束前還是只要SAVE就可以的)。
3.若想cha別人的程序,自己必須是正分(0分也不行),所以若沒有一題有正確的程序但有很好的數據的話,隨便交一道看上去正確的程序,然后在challenge的時候快下手,就可以賺到了。
4.客戶端自帶的編輯器只有基本的編輯功能和編譯及測試功能,所以若覺得不方便的話可以使用parser和plugin,TC主頁最下面有plugin的連接。每個plugin都有詳細說明文檔,這里不再贅述。
5.TC的FAQ:
http://www.topcoder.com/?&t=support&c=index
6.最后一條,千萬不要作弊,會有嚴重的后果。

SRM的輸入輸出
SRM是不用標準或文件輸入和輸出的,只要寫一個類的一個成員函數。也就是說,你需要編寫的并不是一個完整的程序,而是一個類。
輸入是成員函數的參數,輸出用return,所以經常需要STL中的vector和string。
因為TC的系統并不測試標準輸出,所以標準輸出可以當調試用。
下面以SRM 413 Div 2的1000分題目介紹程序的寫法。
題目如下(選擇不同的語言,題目描述會略有不同,本文以C++為例):

Problem Statement
NOTE: This problem statement contains subscripts that may not display properly if viewed outside of the applet.

Let’s consider an infinite sequence A defined as follows:
A0 = 1;
Ai = A[i/p] + A[i/q] for all i >= 1, where [x] denotes the floor function of x. (see Notes)
You will be given n, p and q. Return the n-th element of A (index is 0-based).

Definition
Class:
InfiniteSequence
Method:
calc
Parameters:
long long, int, int
Returns:
long long
Method signature:
long long calc(long long n, int p, int q)
(be sure your method is public)

Notes
- [x] denotes the floor function of x which returns the highest integer less than or equal to x. For example, [3.4] = 3, [0.6] = 0.

Constraints
- n will be between 0 and 10^12, inclusive.
- p and q will both be between 2 and 10^9, inclusive.

Examples
0)
0
2
3
Returns: 1

A[0] = 1.

1)
7
2
3
Returns: 7

A[0] = 1; A[1] = A[0] + A[0] = 2; A[2] = A[1] + A[0] = 2 + 1 = 3; A[3] = A[2] + A[1] = 3 + 2 = 5; A[7] = A[3] + A[2] = 5 + 3 = 8.

2)
10000000
3
3
Returns: 32768

3)
256
2
4
Returns: 89

4)
1
1000000
1000000
Returns: 2

This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2003, TopCoder, Inc. All rights reserved.

下面是我寫的一個錯誤算法的程序,僅供參考格式用:

#include <string>
#include <vector>
class InfiniteSequence {
public:
long long calc(long long n, int p, int q) {
if (n == 0)
return 1;
else
return calc(n/p, p, q) + calc(n/q, p, q);
}
};

轉自:http://sqybi.com/blog/archives/25

posted on 2009-10-27 14:59 abilitytao 閱讀(5780) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            中国日韩欧美久久久久久久久| 久久午夜羞羞影院免费观看| 午夜欧美不卡精品aaaaa| 亚洲人成人一区二区在线观看| 亚洲国产精品va| 尤物yw午夜国产精品视频明星| 在线播放亚洲| 亚洲国产日韩欧美在线动漫| 亚洲精品久久久久久一区二区| 亚洲电影在线免费观看| 亚洲精品在线观| 一区二区三区欧美在线观看| 久久天堂精品| 久久漫画官网| 欧美日韩视频一区二区| 国产精品午夜久久| 久久精品视频在线观看| 噜噜噜在线观看免费视频日韩| 欧美成人69| 国产精品美女久久久久av超清| 国产中文一区| 一级成人国产| 久久精品30| 欧美激情一区二区三区全黄 | 99精品福利视频| 亚洲欧美精品在线| 免费视频一区二区三区在线观看| 欧美另类高清视频在线| 国产欧美在线看| 亚洲卡通欧美制服中文| 欧美在线一级va免费观看| 欧美1区3d| 西瓜成人精品人成网站| 欧美精品一区三区在线观看| 好吊视频一区二区三区四区 | 欧美另类变人与禽xxxxx| 国产午夜久久| 一区二区三区四区在线| 免费亚洲一区二区| 亚洲欧美精品在线| 欧美视频在线播放| 亚洲三级电影全部在线观看高清| 久久久999精品| 亚洲一区免费| 欧美久久久久久久| 亚洲黄色影片| 欧美成人精精品一区二区频| 亚洲综合国产精品| 欧美午夜一区二区三区免费大片| 亚洲黄色在线| 久久一日本道色综合久久| 亚洲一区在线直播| 国产精品高潮粉嫩av| 一区二区三区精品在线| 亚洲精美视频| 久久久999精品免费| 国产视频精品xxxx| 久久国产精品99久久久久久老狼| 在线亚洲免费| 国产精品久久9| 亚洲一级网站| 在线亚洲高清视频| 国产精品美女久久| 久久av一区二区| 欧美一区二区视频网站| 国产亚洲永久域名| 激情欧美日韩| 久久精品中文| 久久av一区| 在线观看一区二区精品视频| 玖玖玖国产精品| 久久久久免费观看| 在线观看亚洲精品| 欧美激情第三页| 欧美激情亚洲另类| 亚洲一本大道在线| 亚洲一二三级电影| 国产一区二区欧美日韩| 蜜桃av噜噜一区二区三区| 免费91麻豆精品国产自产在线观看| 亚洲高清免费视频| 亚洲精品影院| 国产日产欧产精品推荐色| 久久精品亚洲乱码伦伦中文| 久久精品国产欧美亚洲人人爽| 激情一区二区三区| 欧美成人综合一区| 欧美三级日韩三级国产三级| 久久国产日本精品| 久久精品系列| 亚洲最快最全在线视频| 亚洲一区在线观看视频| 亚洲国产美女| 欧美在线精品免播放器视频| 久久九九久精品国产免费直播| 亚洲国产欧美日韩另类综合| 亚洲免费高清视频| 国产午夜精品视频| 亚洲清纯自拍| 国产免费观看久久黄| 欧美国产一区二区在线观看| 欧美亚洲不卡| 欧美fxxxxxx另类| 国产精品国产三级国产aⅴ入口| 欧美在线网站| 欧美日韩国产首页在线观看| 久久综合福利| 亚洲网址在线| 91久久综合亚洲鲁鲁五月天| 亚洲一区三区视频在线观看| 91久久在线播放| 欧美亚洲一区二区在线观看| 一本色道久久88精品综合| 久久精品成人一区二区三区蜜臀| 一区二区三区精品视频在线观看| 欧美一区二区三区四区在线观看| 宅男精品视频| 欧美二区乱c少妇| 老色鬼精品视频在线观看播放| 国产精品久久久久久妇女6080| 欧美高清视频www夜色资源网| 国产日韩欧美日韩大片| 亚洲视频自拍偷拍| 一区二区高清视频| 欧美国产视频在线观看| 欧美3dxxxxhd| 亚洲第一色在线| 久久久久久久综合日本| 久久精品亚洲精品国产欧美kt∨| 国产精品午夜电影| 亚洲欧美福利一区二区| 国产欧美日韩一级| 日韩亚洲欧美在线观看| 99re6热只有精品免费观看| 男同欧美伦乱| 欧美成人中文| 亚洲人人精品| 欧美极品影院| 日韩亚洲一区二区| 亚洲无玛一区| 国产精品a久久久久| 在线视频精品一区| 欧美亚洲尤物久久| 国产精品欧美日韩久久| 亚洲欧美经典视频| 久久午夜精品| 亚洲国产成人久久| 欧美国产一区二区三区激情无套| 亚洲国产欧美一区二区三区久久 | 欧美精品一区在线观看| 亚洲福利在线视频| 99成人精品| 国产精品久久77777| 午夜一区二区三视频在线观看| 久久久精品国产免费观看同学| 国产一区二区三区在线观看网站| 久久久www成人免费精品| 牛牛影视久久网| 艳女tv在线观看国产一区| 欧美三级在线视频| 先锋影音网一区二区| 久久亚洲精品一区二区| 91久久精品久久国产性色也91| 欧美日韩一级片在线观看| 亚洲欧美日韩电影| 欧美大香线蕉线伊人久久国产精品| 亚洲精品免费看| 国产精品一区视频网站| 久久综合影视| 亚洲调教视频在线观看| 免费成人小视频| 夜夜嗨av一区二区三区网站四季av | 欧美在线观看视频一区二区| 在线播放日韩| 欧美日韩在线不卡| 久久九九久久九九| 一本色道久久综合亚洲精品按摩| 久久高清福利视频| 日韩天天综合| 极品尤物av久久免费看| 欧美午夜免费影院| 蜜桃av久久久亚洲精品| 亚洲欧美另类国产| 亚洲国产精品va| 久久精品色图| 亚洲自拍偷拍麻豆| 亚洲精品一区二区三区福利| 国产一区二区黄| 欧美午夜宅男影院在线观看| 久热成人在线视频| 欧美一区二区成人6969| 一区二区三区毛片| 最新亚洲激情| 免费日韩精品中文字幕视频在线| 亚洲欧美日韩网| 在线亚洲欧美专区二区| 亚洲国产成人精品女人久久久 | 欧美性猛交一区二区三区精品| 久久精品国语| 亚洲一级在线观看|