Skip to content

Latest commit

 

History

History
48 lines (36 loc) · 2.12 KB

style.md

File metadata and controls

48 lines (36 loc) · 2.12 KB

問題設定の基準, 目安

  • 出来る限り複数の要素を入れず、シンプルに

タイトルID(変更しんどい), タイトル(変更可能)

  • 使用するアルゴリズムの名前ではなく、問題の名前
    • x: Pollard Rho, Hungarian
    • o: Factorize, Assignment
  • タイトルID: snake_case 既に守ってないのがありますが…
  • タイトル: Title Case 接続詞(on, in, of) とか以外の単語は先頭を大文字にする奴
  • lca, rmq, scc, sat, mst, ... など、有名なものは略称でもOK(明確な基準は無い)

問題文(変更可能)

  • ストーリーは無し
  • 競プロにある程度親しんだ人がわかればいい、細かいところは気にしない
    • 「.」 vs 「。」、「,」 vs 「、」、「ください」 vs 「せよ」など
    • わかりにくいなどの指摘が来たら適時直す
  • 基本的に
    • 0-indexed
    • 半開(左閉右開)区間

制約, 入力(変更しんどい)

基本TL 5s 想定解目安: 500ms ~ 1000ms サーバーはなんか遅めっぽい 爆速になりました(GCP C2)

  • 基本的に制約を減らすよりTLを伸ばす方針で
  • 定数 mod は特別な理由がなければ 998,244,353
  • 値は特別な理由な無ければ 0 <= x <= 1,000,000,000
  • 値が負でアルゴリズムが変わり得る(最短経路, フロー)場合は |x| <= 1,000,000,000
  • グラフは、(自明な変形(自己ループ削除 / 多重辺は重みの最大を1本残す)で答えが変わらない AND 単純じゃないと出力に不具合が生じる)時のみ単純
  • 有向木は 0 <= p_i < i

目安一覧

  • 線形, 軽いlog: 500,000 ~
  • 重いlog: 200,000 ~
  • log^2, sqrt など: 100,000 ~

出力(変更しんどい)

  • 木を作ってください: (a, b)のリストを出力
  • 有向木を作ってください: 頂点ごとに親の頂点を出力
  • 何かを最小化してください: 基本的に構築もする。最小値、構築 共に出力する
  • 解が存在しない場合
    • 基本的に-1
    • -1ではダメな場合(例えば解が存在する場合も-1を出力しうるなど)、INFINITY-INFINITY など