@@ -10,78 +10,70 @@ edition = "2018"
10
10
name = " main"
11
11
path = " src/main.rs"
12
12
13
- [dependencies ]
14
13
# AtCoder 2019年言語アップデート以降に使用できるクレート
15
-
14
+ [ dependencies . proconio ]
16
15
# 競技プログラミングの入出力サポート
17
- proconio = " =0.3.0 "
18
- # proconio-derive = "=0.1.5"
16
+ version = " =0.3.4 "
17
+ # features = ["derive"]
19
18
19
+ [dependencies ]
20
20
# f64のOrd/Eq実装
21
- # ordered-float = "=1.0.2"
21
+ # ordered-float = "=1.0.2"
22
22
23
23
# 剰余関連。普通の整数型などと同じ感覚で扱うだけで自動的にmodを取ってくれる
24
24
# 答えの整数をMで割った余りが要求される設問で便利
25
- # modtype = "=0.6 .0"
25
+ # modtype = "=0.7 .0"
26
26
27
27
# 英数字などのASCII文字専用の文字列。文字にインデックスでアクセスしたり
28
28
# substringを簡単に作ったりできる
29
- # ascii = "=0.9.1 "
29
+ # ascii = "=1.0.0 "
30
30
31
31
# BitSet。C++のbitsetに相当
32
- # bitset-fixed = "=0.1.0"
32
+ # bitset-fixed = "=0.1.0"
33
33
34
34
# Permutation生成。C++のnext_permutationに相当する機能を提供
35
- # permutohedron = "=0.2.4"
35
+ # permutohedron = "=0.2.4"
36
36
37
37
# スライスの強化。C++のlower_bound, upper_boundに相当する機能を提供
38
- # superslice = "=1.0.0"
38
+ # superslice = "=1.0.0"
39
39
40
40
# イテレータの強化
41
- # itertools = "=0.8.0"
41
+ # itertools = "=0.8.0"
42
42
43
43
# 高速なハッシュ関数
44
- # rustc-hash = "=1.0.1"
45
-
46
- # 高速なHashMap
47
- # Rust 1.36.0からは標準ライブラリのHashMapがこれに置き換わる。(AtCoder 2019年言語
48
- # アップデートではそれより古い1.35.0を採用) ハッシュ関数として従来のSipHashが用いられる
49
- # ことに注意。(SipHashは暗号強度を持つため計算量が多く低速)
50
- # hashbrown = "=0.4.0"
44
+ # rustc-hash = "=1.0.1"
51
45
52
46
# 固定配列上のベクタ。ヒープ領域でなくスタック領域にアロケートされるので高速かもしれない
53
- # smallvec = "=0.6.10"
54
- # arrayvec = "=0.4.10"
47
+ # smallvec = "=0.6.10"
55
48
56
49
# 標準ライブラリのVecやHashMapに対応する永続データ構造
57
50
# 永続データ構造は関数型言語によく見られるデータ構造で、要素を更新しても、そのデータ構造の
58
51
# 以前のバージョンにアクセスできる。(更新の度に差分が記録されていくイメージ)
59
- # im = "=13.0.0" # スレッドセーフ
60
- # im-rc = "=13.0.0" # スレッドセーフでないが高速
52
+ # im-rc = "=13.0.0"
61
53
62
54
# 多バイト長整数、分数、複素数など
63
- # num = "=0.2.0"
55
+ # num = "=0.2.0"
64
56
65
57
# RNG 疑似乱数生成器 (randファミリー)
66
- # rand = "=0.6.5"
67
- # rand_chacha = "=0.1.1"
68
- # rand_pcg = "=0.1.2"
69
-
70
- # RNG 疑似乱数生成器 (SFMT)
71
- # SIMD-oriented Fast Mersenne Twister (SFMT)のpure Rust実装
72
- # 高速で高品質な疑似乱数を生成。モンテカルロ・シミュレーションに適している
73
- # sfmt = "=0.5.0"
58
+ # rand = { version = "=0.7.0", features = ["small_rng"] }
59
+ # rand_chacha = "=0.2.1"
60
+ # rand_pcg = "=0.2.0"
74
61
75
62
# 正規表現
76
- # regex = "=1.1.7 "
63
+ # regex = "=1.3.0 "
77
64
78
65
# staticアイテムの遅延初期化
79
- # lazy_static = "=1.3.0"
80
- # once_cell = "=0.2.1"
66
+ # lazy_static = "=1.4.0"
67
+
68
+ # 多次元配列
69
+ # ndarray = "=0.12.1"
70
+
71
+ # 線形代数
72
+ # nalgebra = "=0.18.1"
81
73
82
74
# 代替ヒープアロケータ。条件によってはシステムアロケータより速いことも
83
- # jemallocator = "=0.3.2"
84
- # jemalloc-ctl = "=0.3.3"
75
+ # jemallocator = "=0.3.2"
76
+ # jemalloc-ctl = "=0.3.3"
85
77
86
78
# ---------------------------------------------------------------------
87
79
0 commit comments