⇤ ← 2010-10-25 19:47:34時点のリビジョン1
サイズ: 4669
コメント:
|
サイズ: 7121
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 2: | 行 2: |
* 見にくいので後で画像を追加しときます。それまでしばし読みにくさをご容赦下さい。 |
|
行 15: | 行 17: |
1. 記入が完了したらSubmit. アドレスにメールが届いて、そこに書かれたURLをクリックすると本登録(だったはず) | 1. 記入が完了したらSubmit. アドレスにメールが届いて、そこに書かれたURLをクリックすると本登録が完了します。(だったはず) |
行 43: | 行 46: |
行 44: | 行 48: |
TopCoderでは定期的(2週間に1度程度)SRM(single round match)と呼ばれるアルゴリズムコンテストが開催されます。 毎回全世界から2000人位の競技者があつまり、75分の中でいかに早く、正確に問題を解けるかを競います。 == 日程 == TopCoderホームページの右側、Active ContestsからNext SRMをクリックすることで、次回のSRMの日程を知ることが出来ます。 時刻が日本標準時ではなく東部夏時間などで表記されていることに注意。 [[http://topcoder.g.hatena.ne.jp/|TopCoder部@はてな]]には日本人向けのわかりやすいカレンダーがあるため、ここで確認することがおすすめです。 == 登録 == SRMに参加するには、SRM開始3時間前から開始5分前の間に、Arena上で参加登録をする必要があります。 登録は簡単で、以下のようにします。 1. TopCoderホームページでO(n)アイコンをクリックし、Arenaにログイン。 1. メニューのActive Contests->Single Round MatchXXX(番号)->Registerを選択。 1. 参加規約に同意(不正をしない、など)すれば登録完了です。 == コンテスト == Arenaを起動していれば、時間になると自動的に競技部屋へと移動します。 SRMは「コーディングフェイズ」「チャレンジフェイズ」「システムテスト」の3つに分かれています。 1. コーディングフェイズ中は、問題を解いて解答を送信することができます。解答の送信の仕方はPracticeと全く同じです。 1. チャレンジフェイズでは、他人のコードを見て、問題と違っていると思われるコードに対して特定の入力を与え、結果そのプログラムが間違った答えを返せば、50点の得点を得ることができます。ただしそのプログラムが正しい答えを返した場合、自分の点数が-25点されるため慎重になる必要があります。 1. チャレンジフェイズが終わるとシステムテストが行われます。提出したプログラムがこのテストを通った場合、そのプログラム提出時点での得点が確定します。 |
TopCoder導入解説
- 見にくいので後で画像を追加しときます。それまでしばし読みにくさをご容赦下さい。
アカウント取得
TopCoderのサイトの全てを利用するためにはアカウントを作成する必要があります。 アカウントを取得することによって、SRM(single round match,後述)の過去問の閲覧や、 SRM,Marathon Match等への参加、Practice Roomの使用などが可能になります。
アカウントの取得方法について解説していきます。10分ほどで済むので今すぐアカウントを取りましょう!
TopCoderのページにアクセスする。
- 右上のRegister Nowをクリックする。
"I want to start using TopCoder Direct"および"on TopCoder"のチェックボックスをクリックしてSubmit
- 氏名連絡先などの欄を記入する。情報は全体公開されません。(優秀な成績を収めた際の賞金の支払いなどがあるので、本名が良いと思います)
- Email Notificationsのそれぞれにチェックを入れると、SRMなどの通知がきます。うるさいので非推奨。
- Quoteは「自分の好きな言葉、フレーズ」のような意味です。
- 記入が完了したらSubmit. アドレスにメールが届いて、そこに書かれたURLをクリックすると本登録が完了します。(だったはず)
Practice Roomの使い方
Practice Roomでは、今までのコンテストの問題を解くことができます。 また、解いた結果をサーバ上で実行し、採点することも可能です。
TopCoderホームページの左上に並んだアイコンのうち、O(n)のマークをクリックします。
- Javaアップレットが起動するので、取得したUsername, Passwordを入力してGoをクリックします。
- Chat Roomへログインします。大会前後などはここでチャットがなされたりします。
アップレットのメニューのPractice Rooms->SRMsから好きな番号を選んでクリックします。
- 部屋に飛ぶので、問題を開きましょう。
- 問題の難易度は3種類(通常は250点、500点、1000点)で、Select Oneから点数を選ぶことで、その点数の問題を開くことができます。
- 問題が別窓で開きます。問題を読んで解法を考え出します。
- デフォルトでは下側がエディタになっているので、そこにコードを書きます。
- コードが書けたら、Compileボタンを押します。サーバ側でコンパイルがされます。(コンパイルの失敗によるペナルティはありません)
- エラーなくコンパイルがされたら、提出前にテストをします。
- 問題文中で与えられた例(サンプル入出力)をテストするには、出てきたダイアログのプルダウンで、テストしたいサンプルの番号を選び、OKをクリックします。
- 実行結果が返って来ます。Correct Return Value: がYesならば成功、Noならば失敗です。
- サンプルに与えられていないケースをテストすることもできます。modifyボタンをクリックするとさらにダイアログが出ます。
- そこに変数に与える値を書きOKボタンを押してダイアログを閉じ、テストのダイアログで更にOKをクリックします。
- プログラムが正しいことを確信したらSubmitボタンを押します。送信された後での再送信は、何度でも出来ますが、点数が若干下がります。
- Practice Roomではプログラムをその場で採点することができます。
メニューからPractice Options->Run System Testを選択。
- 本番同様のテストケースで採点が行われます。実行結果が全て正しければ問題番号が緑色になります。
- 間違った(あるいは実行時間が2秒に間に合わない)ケースがあれば、問題番号が赤色になります。
- ケースをダブルクリックすることで、そのケースの詳細を見ることができます。
- 他人の回答を見ることもできます。Summaryボタンをクリックします。
- 出てきたウィンドウで、表示されている数字はそれぞれの解答の点数を表します。それをダブルクリックすることで、その解答を見ることができます。
- ここで、その解答に対しChallenge(後述)をすることもできます。
SRMへの参加方法
TopCoderでは定期的(2週間に1度程度)SRM(single round match)と呼ばれるアルゴリズムコンテストが開催されます。 毎回全世界から2000人位の競技者があつまり、75分の中でいかに早く、正確に問題を解けるかを競います。
日程
TopCoderホームページの右側、Active ContestsからNext SRMをクリックすることで、次回のSRMの日程を知ることが出来ます。 時刻が日本標準時ではなく東部夏時間などで表記されていることに注意。
TopCoder部@はてなには日本人向けのわかりやすいカレンダーがあるため、ここで確認することがおすすめです。
登録
SRMに参加するには、SRM開始3時間前から開始5分前の間に、Arena上で参加登録をする必要があります。 登録は簡単で、以下のようにします。
TopCoderホームページでO(n)アイコンをクリックし、Arenaにログイン。
メニューのActive Contests->Single Round MatchXXX(番号)->Registerを選択。
- 参加規約に同意(不正をしない、など)すれば登録完了です。
コンテスト
Arenaを起動していれば、時間になると自動的に競技部屋へと移動します。 SRMは「コーディングフェイズ」「チャレンジフェイズ」「システムテスト」の3つに分かれています。
- コーディングフェイズ中は、問題を解いて解答を送信することができます。解答の送信の仕方はPracticeと全く同じです。
- チャレンジフェイズでは、他人のコードを見て、問題と違っていると思われるコードに対して特定の入力を与え、結果そのプログラムが間違った答えを返せば、50点の得点を得ることができます。ただしそのプログラムが正しい答えを返した場合、自分の点数が-25点されるため慎重になる必要があります。
- チャレンジフェイズが終わるとシステムテストが行われます。提出したプログラムがこのテストを通った場合、そのプログラム提出時点での得点が確定します。