• <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>
            posts - 74,  comments - 33,  trackbacks - 0

            1.基本規(guī)則
            2.運(yùn)行環(huán)境
            3.注冊與登陸
            4.界面簡介
            5.練習(xí)
            6.比賽
            7.注意事項
            TopCoder(以下簡寫tc) URL: http://www.topcoder.com
            1.基本規(guī)則
            tc的比賽規(guī)則歸結(jié)起來就是一句話:75分鐘做完3道難度遞增的題。
            tc的每個用戶(handle)都有自己的積分,從0-3000+不等。成績越好,分?jǐn)?shù)越高
            。比賽分為兩個division。Div I和Div II。積分<1200或者unrated(即注冊但還沒
            參加過比賽的)參加Div II,>=1200的參加Div I。Div I的題要比Div II難許多。
            一般DivII的最后一題和Div I的第一或第二題是一樣的。無論是Div I或Div II。三
            道題目的Score一般為250, 500和1000左右,視每次的難度略有浮動。個人積分
            (rating)的增減是根據(jù)你和別人在比賽中的score以及你們原來的rating決定的。tc
            的提交結(jié)合了ICPC和IOI的特點,即只能交一次,必須過所有數(shù)據(jù)并且得分與用時相
            關(guān)。tc每周有一次Single Round Match(SRM),每年兩次大的比賽(有$)。

            2.運(yùn)行環(huán)境
            tc的客戶端是一個java程序,所以需要jre( java runtime environment) 或者
            jdk( java development kit) 來運(yùn)行。如果平時不寫java程序的話,裝jre就可以了
            。畢竟jdk比jre大一個數(shù)量級,下載慢。安裝照著提示完成就行了。推薦使用1.4.1
            以后的版本,因為帶了java web start,可以快速登陸。具體方法下一部分講。
            sun公司主頁上的jre-6u1-windows-i586-p.exe





            3.注冊與登陸。
            點主頁右上角的register注冊,過程沒什么好說的。
            注冊好后就可以登陸了。有兩種方法:
            a.點左側(cè)的Launch Arena Applet
            點后彈出一個窗口,等一會后就出現(xiàn)一個Load Competition Arena的按紐。
            點擊就運(yùn)行了客戶端。注意不要把這個小窗口關(guān)掉,否則客戶端會一并關(guān)了
            。這個方法在win2000下有時候會有問題,但是在98下是正常的。不推薦。
            b.通過java web start運(yùn)行
            topcoder主頁底部有一欄如下:
            ---------------------------------------------------------------------
            │ Java Web Start │
            │ Run the Arena as a Java Web Start Application │
            │ JWS already installed? Load the Arena as a Java Application │
            │ Arena Plugins—Information and Downloads ~~~~~~~~~~~~~~~~這里 │
            ---------------------------------------------------------------------
            把那個"Java Application"拖到桌面上建立一個快捷方式,以后雙擊就可
            以直接運(yùn)行了。客戶端啟動后有一個窗口,填上申請的username和password
            ,如果是用代理的話,把HTTP Tunneling選上。登陸后就到了主頁面。

            4.界面簡介
            -----------------------------------------------------------------------
            │ Advertisements............. │
            -----------------------------------------------------------------------
            │ Main │ Lobbies │ Options │ Practice Rooms │ Active Contests │ Help ││
            -----------------------------------------------------------------------
            │ │ Clock │ │
            -----------------------------------------------------------------------
            │ Rating Key │ Who's here │ Chat Area │
            │ . │ │ │
            │ . │ │ │
            │ . │ │ │
            │ . │ │ │
            │ . │ │ │
            │------------│ │ │
            │ MESSAGES │ │ │
            │------------│ │ │
            │LEADER BOARD│ │ │
            │------------│ │ │
            │ │ │ │
            │ │ │-------------------------------------------│
            │ │ │ >>_______________________________________ │
            -----------------------------------------------------------------------
            (寬度太小,縮放了一下
            逐部分說明一下:Advertisements: No comment.
            Menus: Main里可以看在線名單和找人。
            Lobbies基本用不著,因為用戶一般都在Chat Room 1
            Options里是一些選項和顏色設(shè)置。
            Practice Rooms里有大量的練習(xí),都是以前比賽的題目
            Active Contests只有有比賽的時候才有用。
            Help里是....不用說了吧。
            Rating Key: handle的顏色是隨著積分而改變的,這里顯示了
            積分與顏色的關(guān)系。
            MESSAGES: 比賽的時候這里有注冊提示和clarification。
            LEADER BOARD: 看每個room的最高分。
            Who's here: 當(dāng)前room里的人。
            Chat Area: 聊天。

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

            6.比賽
            每次比賽(除了1年兩次的大賽)都需要在賽前3小時-5分鐘之間登陸注冊方可
            參加,注冊在Active Contest菜單的第一項。一般需要回答一道選擇題(多半是調(diào)
            查)才能注冊。到剩下5分鐘的時候,注冊終止,tc開始按照報名者的rating分配
            room。分配完成后,Active Contest菜單中Register一項變成Enter。選擇后可以
            直接進(jìn)入你被分配到的room。Active Contest菜單最下面還有一項暗色背景的Room
            子菜單,可以進(jìn)入各個room溜達(dá)。進(jìn)入自己room的時候一般離開始只有3分鐘左右
            ,靜一下心就可以直接開始比賽了。coding phase的過程與practice基本相同。
            注意每題的得分是和用的時間相關(guān),而時間是從你打開該題開始算的。所以一題
            做完后可以不急著打開下一題,先放松一下。75分鐘的coding后是5分鐘的
            intermission,這段時間是用來休息和聊天的。然后就是最刺激的15分鐘challenge
            phase。打開summary,雙擊別人的各題Score可以打開那題的程序,如果覺得有錯
            誤就可以點左下的Challenge然后輸入你認(rèn)為他會錯的數(shù)據(jù),成功的話能得到50分
            ,對方該題分?jǐn)?shù)為0;而如果失敗了,你會被減去50分。所以若不是考慮成熟或背
            水一戰(zhàn)的話,最好不要隨便Challenge。Challenge結(jié)束后就是System Test。這個
            過程一般比較慢,可以先走開做其他事。過20分鐘再回來看結(jié)果。結(jié)果出來后再
            過一段時間就可以看到一系列message比如rating更新了,新的practice room建
            好了以及可以通過主頁查看這次比賽的數(shù)據(jù)了。

            7.注意事項
            a.主頁上有一份日歷,日歷下面的More 2003 Match Dates點進(jìn)去可以看到最近比
            賽的時間安排。注意當(dāng)前我們的時間與他們剛好相差12小時,因此若時間是7月
            9日9:00 P.M.的話,這里是7月10日9:00 A.M. 還有要注意的是美國有夏令時,
            非夏令時的時候,還要再加1小時,就是7月10日10:00 A.M.(現(xiàn)在是夏令時)
            b.Practice Rooms里寫的程序只要點SAVE就可以保存,下次login的時候還可以看
            到,但是比賽時候的程序必須Submit才可以在coding phase結(jié)束后保存(coding
            phase結(jié)束前還是只要SAVE就可以的)。
            c.若想cha別人的程序,自己必須是正分(0分也不行),所以若沒有一題有正確的
            程序但有很好的數(shù)據(jù)的話,隨便交一道看上去正確的程序,然后在challenge的
            時候快下手,就可以賺到了。
            d.客戶端自帶的編輯器只有基本的編輯功能和編譯及測試功能(連自動縮進(jìn)都沒有
            )。所以若覺得不方便的話可以使用parser和plugin,tc主頁最下面有plugin的
            連接。因為我沒有用過,所以具體方法不詳。
            e.tc的FAQ http://www.topcoder.com/?&t=support&c=index
            f.最后一條,千萬不要作弊,會有嚴(yán)重的后果。

            --
            int SummerVocationDietPlan(int weight){
            while(Day++<=VocationEnd){
            Sleep(EARLY);GetUp(EARLY);
            Have(short int SaltyFood,short int SweetFood,int Water,long Exercise);
            }return weight-15-random(6);
            }


            比如這題:
            SRM 152 div 2 , 250
            Problem Statement for LeaguePicks

            Problem Statement
            You and your friends are setting up a fantasy TopCoder league, where
            you choose coders to be on your team and score points in the league when
            any one of your coders wins their room or successfully challenges somebody,
            etc. To be fair, a system has been developed to choose the order in which
            picks are distributed. It works like this: first, lots are drawn to choose
            your position in the league. Then the player with the first position gets
            first pick, the second player gets second pick, all the way until the last
            player picks. Then the order reverses: the last player chooses again, then
            the next to last player, and so on, until you reach the first player again.
            Then the cycle repeats: the first position chooses again, then the second,
            and so on.

            For example: say you were in the third position on a 6 player league. You
            would get the 3rd pick, then you'd wait until the 10th pick (the order
            would be 1,2,you,4,5,6,6,5,4,you), and then the 15th pick, and so on until
            there were no more coders to choose. If there were 20 total picks, then you
            would get pick numbers 3,10,15.

            Not wanting to miss your chance at a pick, your goal is to write a program
            that tells you what pick numbers you have in the order that you have them.
            You will receive three ints indicating your position in the league(1 being
            the first position), the number of friends that are in the league with you,
            and the number of picks that are being divvied up among the league. You will
            return an int[] that indicates the picks that you receive in ascending order.

            Definition
            Class:?LeaguePicks //要寫的Class名
            Method: returnPicks //要寫的Method名
            Parameters: int, int, int //輸入?yún)?shù)
            Returns: vector <int> //返回
            Method signature: vector <int> returnPicks(int position, int friends, int
            picks)
            (be sure your method is public)

            Notes
            - Note that your position in the league and the pick numbers start at 1 and
            not 0. This should be clear from the examples.

            Constraints
            - position will be between 1 and friends inclusive.
            - friends will be between 1 and 40 inclusive.
            - picks will be between 1 and 40 * friends inclusive.

            Examples

            #include < vector >
            using ? namespace ?std;

            class ?LeaguePicks?
            {
            public :
            ????vector?
            < int > ?returnPicks( int ?position,? int ?friends,? int ?picks);

            }
            ;

            vector?
            < int > ?LeaguePicks::returnPicks( int ?position,? int ?friends,? int ?picks)
            {
            ????vector?
            < int > ?receive_picks;
            ????
            int ?times = picks / ( 2 * friends);
            ????
            int ?remainder = picks - times * 2 * friends;????
            ????
            int ?i;
            ????
            for (i = 0 ;?i < times;i ++ )
            ????
            {
            ????????receive_picks.push_back(position
            + ( 2 * friends) * i);
            ????????receive_picks.push_back((
            2 * friends) * i + ( 2 * friends - position + 1 ));
            ????}

            ????
            if (remainder >= position)
            ????
            {
            ????????receive_picks.push_back(position
            + ( 2 * friends) * i);
            ????????
            if (remainder >= ( 2 * friends - position + 1 ))
            ????????????receive_picks.push_back((
            2 * friends) * i + ( 2 * friends - position + 1 ));
            ????}

            ????
            return ?receive_picks;
            }
            ?? 最暈的是提交的是時候要用C++的類或Java的類本人的C++或者Java還不行。。。。一直搞算法(雖然還很菜)
            學(xué)習(xí)學(xué)習(xí)!!!
            posted on 2009-01-06 21:16 KNIGHT 閱讀(6491) 評論(1)  編輯 收藏 引用

            FeedBack:
            # re: (轉(zhuǎn)載)TopCoder入門手冊
            2011-09-14 19:26 | wuyiqi
            好,學(xué)習(xí)了
              回復(fù)  更多評論
              

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            <2009年1月>
            28293031123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿(8)

            隨筆檔案

            文章檔案

            Friends

            OJ

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            国产精品亚洲综合久久 | 精品久久久中文字幕人妻| 91久久精品视频| 久久久综合香蕉尹人综合网| 色悠久久久久久久综合网| 午夜精品久久久久久毛片| 97精品伊人久久久大香线蕉| 久久久久免费精品国产| 97久久精品人人澡人人爽| 亚洲午夜久久久久久久久久| 91久久九九无码成人网站| 亚洲AV无码久久精品蜜桃| 日韩欧美亚洲国产精品字幕久久久 | 夜夜亚洲天天久久| 一本一本久久A久久综合精品| 国产A三级久久精品| 男女久久久国产一区二区三区| 久久99精品久久久大学生| 亚洲欧美久久久久9999| 99久久99久久精品国产片| 久久精品黄AA片一区二区三区| 久久精品一区二区| 精品国产一区二区三区久久久狼| 久久久黄片| 午夜精品久久久久9999高清| 大美女久久久久久j久久| 久久99免费视频| 97久久国产亚洲精品超碰热| 人妻丰满AV无码久久不卡| 国产成人精品三上悠亚久久 | 久久精品草草草| 97久久香蕉国产线看观看| 久久久无码精品亚洲日韩按摩 | 久久精品国产2020| 久久精品日日躁夜夜躁欧美| 久久久久久久综合狠狠综合| 久久夜色精品国产噜噜亚洲a| 久久亚洲国产成人影院网站| 香蕉久久AⅤ一区二区三区| 欧美日韩精品久久久免费观看| 欧美一级久久久久久久大|