Skip to content

Latest commit

 

History

History
10 lines (7 loc) · 932 Bytes

CLAUDE.md

File metadata and controls

10 lines (7 loc) · 932 Bytes

Haskellで挑戦するAtCoder用リポジトリ

質問に応答するまえに現在編集しているソースコードを再度読み込むこと nix flakeでghcをインストールしているのでnix developしてからrunghcすること。

Haskell Conventions

  • 競技プログラミングの場合、入出力はinteractを使用する。
  • 頂点ごとに隣接リストを集約するなど「同じ添字に複数の値を集約する(グルーピング)」処理は、Data.ArrayのaccumArrayが一行で書けて楽。VectorだとST+MVectorかsort+groupByが必要で手数が増える。accumArray (flip (:)) [] (1, n) edgesで隣接リスト(Array Int [Int])を構築できる(flipはaccum fがf 既存値 新入力の順で呼ぶため)。
  • _2を作成する際や、コードをリライトする際に変数名をなるべく維持して生成し、生成後に提案をする。