https://github.com/fumtas1k/atcoder-ndpc
AtCoder Next DP Contest
https://github.com/fumtas1k/atcoder-ndpc
atcoder ruby
Last synced: 21 days ago
JSON representation
AtCoder Next DP Contest
- Host: GitHub
- URL: https://github.com/fumtas1k/atcoder-ndpc
- Owner: fumtas1k
- Created: 2026-05-05T08:35:59.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-07T08:28:57.000Z (2 months ago)
- Last Synced: 2026-05-07T09:27:42.023Z (2 months ago)
- Topics: atcoder, ruby
- Language: Ruby
- Homepage:
- Size: 93.8 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Next DP Contest (AtCoder) ワークスペース
AtCoderの「Next generation Dynamic Programming Contest」用のRuby開発環境です。
## 環境
- **Ruby**: 3.4.5 (Bundler)
- **Python**: 3.13 (uv)
- **Node.js**: 22.18+ (npm)
## セットアップ
依存ツールとライブラリをインストールします。
```bash
# Ruby ライブラリ
bundle install
# Python ツール (online-judge-tools)
uv sync
# Node.js ツール (atcoder-cli)
npm install
```
## ツール
リポジトリ内のツールを使用する場合は、`npx` または `uv run` を介して実行します。これらはローカルにインストールされているため、グローバルな環境を汚さずに利用可能です。
```bash
# atcoder-cli (acc) の使用
npx acc
# online-judge-tools (oj) の使用
uv run oj
```
## テストの実行
テストは、**各問題のディレクトリ(例: `ndpc/a/`)に移動してから**実行してください。`npm test` を使用すると、自動的に適切な環境でテストが実行されます。
```bash
# 問題ディレクトリへ移動
cd ndpc/a
# テスト実行
npm test
# (補足) npmを経由せずに直接実行する場合
uv run oj t -c "ruby main.rb" -d tests
```
## 問題一覧
| # | 問題 | アルゴリズム | 解答コード |
| :--- | :--- | :--- | :--- |
| A | [Polyomino](https://atcoder.jp/contests/ndpc/tasks/ndpc2026_a) | 末尾分解, 境界状態圧縮 | [解答済](./ndpc/a/main.rb) |
| B | [DAG](https://atcoder.jp/contests/ndpc/tasks/ndpc2026_b) | トポロジカルソート, 経路数え上げ | [解答済](./ndpc/b/main.rb) |
| C | [String](https://atcoder.jp/contests/ndpc/tasks/ndpc2026_c) | 決定性有限オートマトン(DFA)の直積上でのDP | [解答済](./ndpc/c/main.rb) |
| D | [Banknote](https://atcoder.jp/contests/ndpc/tasks/ndpc2026_d) | 桁DP(下から) | [解答済](./ndpc/d/main.rb) |
| E | [Summer Vacation](https://atcoder.jp/contests/ndpc/tasks/ndpc2026_e) | 貪欲法, ダブリング | [解答済](./ndpc/e/main.rb) |
| F | [Set](https://atcoder.jp/contests/ndpc/tasks/ndpc2026_f) | - | [未解答](./ndpc/f/main.rb) |
| G | [Mouth](https://atcoder.jp/contests/ndpc/tasks/ndpc2026_g) | - | [未解答](./ndpc/g/main.rb) |
| H | [Coin](https://atcoder.jp/contests/ndpc/tasks/ndpc2026_h) | - | [未解答](./ndpc/h/main.rb) |
| I | [Update Positions](https://atcoder.jp/contests/ndpc/tasks/ndpc2026_i) | - | [未解答](./ndpc/i/main.rb) |
| J | [Number and Total](https://atcoder.jp/contests/ndpc/tasks/ndpc2026_j) | - | [未解答](./ndpc/j/main.rb) |
| K | [Addition and Subtraction](https://atcoder.jp/contests/ndpc/tasks/ndpc2026_k) | - | [未解答](./ndpc/k/main.rb) |
| L | [LCM](https://atcoder.jp/contests/ndpc/tasks/ndpc2026_l) | - | [未解答](./ndpc/l/main.rb) |
| M | [Numeral](https://atcoder.jp/contests/ndpc/tasks/ndpc2026_m) | - | [未解答](./ndpc/m/main.rb) |
| N | [Knapsack](https://atcoder.jp/contests/ndpc/tasks/ndpc2026_n) | - | [未解答](./ndpc/n/main.rb) |
| O | [Game](https://atcoder.jp/contests/ndpc/tasks/ndpc2026_o) | - | [未解答](./ndpc/o/main.rb) |
| P | [LIS](https://atcoder.jp/contests/ndpc/tasks/ndpc2026_p) | - | [未解答](./ndpc/p/main.rb) |
| Q | [Union of Intervals](https://atcoder.jp/contests/ndpc/tasks/ndpc2026_q) | - | [未解答](./ndpc/q/main.rb) |
| R | [Triples](https://atcoder.jp/contests/ndpc/tasks/ndpc2026_r) | - | [未解答](./ndpc/r/main.rb) |
| S | [Two doors](https://atcoder.jp/contests/ndpc/tasks/ndpc2026_s) | - | [未解答](./ndpc/s/main.rb) |
| T | [Independent Set](https://atcoder.jp/contests/ndpc/tasks/ndpc2026_t) | - | [未解答](./ndpc/t/main.rb) |
## ライブラリ
以下の gem が導入されています。
- `ac-library-rb`: AtCoder Library (ACL) の Ruby 移植版
- `numo-narray`: 数値計算ライブラリ
- `sorted_containers`: ソート済みコレクション
- `rbtree`: 赤黒木
- `matrix`: 行列演算