rsk0315 / library-rs

えびちゃんのライブラリです。
https://rsk0315.github.io/library-rs/nekolib/
MIT License
22 stars 0 forks source link

ディレクトリ構造について #3

Closed rsk0315 closed 4 years ago

rsk0315 commented 4 years ago

どうしよう

rsk0315 commented 4 years ago
library-rs/
├── crates/
│  ├── algo/
│  │  └── sliding_window/
│  │     └── src/lib.rs
│  ├── ds/
│  │  ├── foldable_queue/
│  │  │  └── src/lib.rs  # FoldableQueue
│  │  ├── splay_tree/
│  │  │  └── src/lib.rs  # SplayTree
│  │  ├── union_find/
│  │  │  └── src/lib.rs  # UnionFind
│  │  └── vec_segtree/
│  │     └── src/lib.rs  # VecSegtree
│  ├── graph/
│  │  ├── dijkstra/
│  │  │  └── src/lib.rs
│  │  └── dinitz/
│  │     └── src/lib.rs
│  ├── traits/
│  │  ├── algebra/
│  │  │  └── src/lib.rs  # Monoid とか Group とか
│  │  ├── disjoint_set/
│  │  │  └── src/lib.rs  # Equivalent とか Representative とか
│  │  ├── num/
│  │  │  └── src/lib.rs  # Signed とか Int とか
│  │  └── range_query/
│  │     └── src/lib.rs  # Fold とか Act とか
│  │                     # Quantile とか Count3way とかどうしよう
│  └── utils/
│     └── itertools/
│        └── src/lib.rs  # CartesianProduct とか Permutations とか
└── verify/
   ├── judges/     # カスタムジャッジとかケースのダウンロードとか
   ├── solutions/  # 抽象化した解法
   └── tests/      # ライブラリの verify

こういうのでいい? bundle のときに(Cargo.toml から読める)依存関係だけでやってあまり無駄なのが入らないようにしたい

rsk0315 commented 4 years ago

最短距離とかフローとかも trait とかに分ける? 何がしたいのとなってくる

rsk0315 commented 4 years ago

random bit generator とか xorshift とかどうしよう bigint は ds ではないけど他のところでもないと思う

rsk0315 commented 4 years ago

あ、modint(名前未定)や fraction もあるから、bigint もそれらと一緒に num/ とかに入れちゃう?

rsk0315 commented 4 years ago

partition_point とか gcd みたいな細々としたのをどこに置くか

rsk0315 commented 4 years ago

あ、math とか?(algebra は math だと思いますが…)

rsk0315 commented 4 years ago

polynomial とか忘れてた isqrt とか maximize_convex とかは? math にも algorithm にも入りそう? algorithm/math になるか parallel_bsearch とかは?

rsk0315 commented 4 years ago

input は? utils?

rsk0315 commented 4 years ago

Additive とかは struct なんだからそこにあるのはおかしいか 各ライブラリが Cargo.toml で依存関係を示すのはいいとして、実際に(特にコンテスト中に)使うときに Cargo.toml に書くのは、やってられなくない?

rsk0315 commented 4 years ago

query を trait にするのわからないことになりそう FoldableQueuepushLineContainerpush は別物で、Push を実装した構造体を solver が要求したときに、謎になりそう? あるいは、それ以外の操作の条件でよしなに?

rsk0315 commented 4 years ago

遅延セグ木に載せるやつ、どう置こう