アンケートについて

これからもみなさまが快適にアルゴリズムの勉強できるようにシステムの改善を続けていきます。
皆様で作っていくサイトだと思いますので、是非、ご意見・ご感想をください。
アンケートフォームはこちら
競プロ環境アンケートはこちら 結果はこちら

結果について

  • WJ(Wait for Judge)はジャッジ待ち中です。しばらくして更新してみてください。
  • Judge(Judging)はジャッジ中です。実際にはテストケース数とジャッジ進捗が表示されます。しばらくして更新してみてください。
  • AC(Accepted)が出れば、 正解です。(注意:ただし、ミスがあれば後日指摘される可能性があリます。)
  • WA(Wrong Answer)は回答が間違ってます。
  • TLE(Time Limit Exceeded)は、実行時間オーバーです。もっと時間効率のよいアルゴリズムを考えてみましょう。
  • MLE(Memory Limit Exceeded)は、使用メモリ制限です。もっとメモリ効率のよいアルゴリズムを考えてみましょう。
  • OLE(Output Limit Exceeded)は、ファイル制限です。20MB以上出力すると表示されます。出力数を減らしてください。
  • QLE(Query Limit Exceeded)は、問題に対するクエリが多い場合に発生します。クエリ数は問題によって異なります。
  • RE(Runtime Error)は、実行時エラーです。
  • CE(Compile Error)は、コンパイルエラーです。
  • IE(Internal Error)は、申し訳ありません。ジャッジシステムのエラーです。(運営者に自動的に連絡が行きます)

初めてやってみたけど、REになる。

つまづきやすいのですが、実行引数ではなく、「標準入力」で入力が渡され、「標準出力」で答えを出力します。
知らなかった方はこれを機に覚えましょう。
基本的に、競技プログラミングサイトではこの形式が多いです。

ランタイムエラーメッセージが見たい

各提出の「出力結果」から見ることができます。ただし、最大でも24時間(最短で1分でも)で削除されます。
コンテストで出題中の問題は見れません。

問題がどうしても合わない/なにかおかしい

まず、@yukicoderへ質問・ご連絡ください。強い方のご意見も聞いて、お答えします。

万が一、問題の不備の可能性もあります。あまり考えても時間がもったいないのでどんどんご連絡ください。

実行時間制限と言われても・・

約10^9 (10億)回のループで1秒の実行時間と考えてもらえればよいです。
★,★★の問題は、ループ回数をちゃんと見積もれなくても、早そうな処理を考えると正解できるかと思います。

厳密ではありませんが、1GHzのCPUで1秒間に処理できるのが10^9 (10億)回の演算と考えることが出来ます。
言語差がありますので、言語によって同じ処理でも実行時間が変わります。

-- の表記は?

その問題の 実行制限時間+1秒以上かかったケースがある場合、それ以上の実行はしません。(ノックアウト方式)
これはTLEになる可能性が高い場合ジャッジを専有してしまうので、リソースの節約と結果を素早く返すためのものです。
実行制限時間+1秒未満の場合はTLEと表示はされますが、続けて実行されます。

問題の出題について

希望の時間で出題したい場合は、運営twitter,yukicoder slackの@yuki2006にご連絡ください。
概ねリクエストには対応できますが、ジャッジの準備などの対応をするため連絡を頂きたいというものです。

レベル・タグについて

運営者・出題者の見解でレベル・タグを付けております。 目安は以下ですが、あくまで参考程度です。
レベルは「問題の難易度+アルゴリズムの難しさ」の総合です。
アルゴリズム自体を知らなかった人が、(★1段階少ない問題なら解ける人が)一から勉強するくらいの難しさです。

運営者の主観的な目安 (☆は0.5を表します)
★     始めての方向け、言語の基礎を知ってれば解けるかも、初心者にもおすすめの問題
★☆   実装自体は基礎があればできるが、初心者でも少々考察ができれば解けそうな問題、1e9+7を使う問題(割り算以外)/小数誤差がありうる問題/32ビット整数型では解けない問題/リアクティブ
★★    基本的なアルゴリズム(全探索/ユークリッド互除法/DFS/BFS/エラトステネス/素因数分解/しゃくとり法/基本的なDP/包除原理)
★★☆  基本的なアルゴリズムに加え、考察難度が高い問題( ダイクストラ法/ 周期性 / NextPermutation /やさしめなアドホック /多倍長 / 逆元を用いたコンビネーション計算/逆関数)
★★★   競プロ向けの/応用的なアルゴリズムの問題(DP/ワーシャルフロイド/トポロジカルソート/Nim/優先度付きキュー等)
★★★☆  桁DP / ★★★に加え一般には知られてないが、実験等で発見することが可能と思われる問題/埋め込み解やLL系言語では時間が困難なもの
★★★★  行列べき乗や ★★★レベルのアルゴリズムの組み合わせや考察が必要な問題/事前にライブラリを用意しないと本番中に書くのは難しいもの。
★★★★☆  FFT、挿入DPやPolyaの定理など (とりあえず用意しましたが要検討)
★★★★★ 高度な数学的な知識/高度なグラフの知識などを要する問題
★★★★★☆  (とりあえず用意しましたが要検討)
★★★★★★ ???????

タグは、その問題を解くために使用するアルゴリズムです。すべての要素についてANDではなく、そういう要素もあるよね程度です。

ユーザーLv. について

解いた★数/全問の★数の%です。
(しばらく解いてないと下がることもあります。)

スコアについて

各問題、 50×★の数+50×★の数 / (0.8+ 0.2×ACの順位)とその合計となっております。

ゆるふわポイントについて

スコアには現れないけど、解説をして頂いたり、ミスのご指摘、面白いコードなどに差し上げるポイントです。

ポイントを貯めるといいことが?

  • 問題ごとのショートコード 40pt
  • 誤字脱字指摘 5pt〜
  • サンプルケースミス指摘 20pt
  • ブログやページでの解説(自己解説も含む) 30pt
  • 他の人へのチャレンジ 40pt
  • テストケースミス指摘 50pt〜
  • コードがFavされた 20pt
  • 問題がFavされた 10pt
など適宜付与します。(各ポイントはとりあえず暫定的です)

スマートサブミットについて

ユーザーページからチェックを入れることができます。
チェックを入れると、提出画面からCtrl (MacではCommand) +v を押すだけで問題ページから提出することができます。

ショートカットキーについて

ユーザーページからチェックを入れることができます。
問題ページ画面で

  • j」で前の問題
  • k」で次の問題
  • e」で編集画面
提出表示画面で
  • j」で同じ問題の前の提出
  • k」で同じ問題の次の提出
  • u」で同じ問題の前のACの提出
  • i」で同じ問題の次のACの提出
へジャンプすることができます。
また、チェック入れなくても有効な機能として保存する系の画面で「Ctrl(Command)+s」で保存ができます。

同じコードを提出してるのに実行時間が微妙に違う

基本的には、誤差だと思います。初心者が作ったジャッジなので、ご了承ください。 ゆるふわに練習するという目的なのでジャッジの実行時間の精度はあまり高くなくてもいいと思っております。

なるべく精度を高めるようにしておりますが、精度を求める方はAtCoder等で練習されるかといいと思います。

もし10%以上違うという場合は、ご連絡ください。(サーバーの増築などを考えます)

Java/Scalaの提出について

Javaについては、コンパイル可能で、エントリーポイント(mainメソッド)があり、半角文字であればクラス名は任意です。publicの有無は問いません。
さらにpackageがついててもOKです。 (ジャッジが通らなかったら教えて下さい。。)
エントリーポイントが複数ある場合はMainクラス優先し、辞書列順のつもりにはなってますが、不定としてください。

Scalaのクラス名もJavaと同様に、コンパイル可能でエントリーポイントがあれば、半角文字であればクラス名は任意です。publicの有無は問いません。
さらにpackageがついててもOKです。 #4296のようなpackageの入れ子もできます。

ソースコードのサイズについて

最大64KiB(64*1024バイト)に制限しています。この制限の中で創意工夫してください。

出力制限のサイズについて

最大20MBに制限しています(実際には若干少ないです)。これを超えるとOLEの判定が出ます。
ただし、標準エラー出力なども含みます。

プログラムのネットワークアクセスについて

提出されたプログラムのネットワークアクセスはできないようになっております。ご了承ください。

補助ツール

Online Judge Helper(nodchipさん作)
https://github.com/nodchip/OnlineJudgeHelper

サンプルケース自動テスター(なおさん作)
http://ideone.com/OlIkW4(Perl)

yukicoder勢とは

yukicoderをしたことがある人は名乗る権利があります。

匿名ログインは?

匿名ログインは終了しました。

CTFをしたいです!

コンテスト以外の時間にしてください。また、何かしら見つけましたら、報告の義務を課します。
なお、運営者の勉強になるので歓迎です。

Scalaについて(2018/02/01追記)

原因は不明なのですが、Scalaが、サイトの仕組み上耐えない遅さですが、ご了承ください。

Elixirについて(2018/07/06追記)

事前コンパイル型に変更しました。(ただでさえ遅いのですが、そうでないと更に遅くなっていたため)

/usr/local/bin/elixir -e Main.main で実行されますので submoduleやメソッド名に気をつけてください。

ログインパスワードを忘れました

申し訳ないですが、運営者もわかりませんのでSlackのDMやメールなどしてください。パスワードのリセットを行います。

ログインしてないと使えない機能をAPIとして使いたい

ユーザーページのAPIキーを発行して利用してください。

ユーザー名の横に👑をつけたい

「サイトサポーター」になっていただければつけることができます。(1000円以上のギフトカードの購入)
詳しくはこちら
https://twitter.com/yukicoder/status/1271767632933294082

何かあれば書きたい