2023-01-16 ABC028 の A, B, C, D を解いた / quick-xml の Reader を試している
ABC028 : AtCoder Beginner Contest 028 の A, B, C, D を解いた。
- A - テスト評価
https://atcoder.jp/contests/abc028/tasks/abc028_a
- 提出: https://atcoder.jp/contests/abc028/submissions/38100830
- 問題文の通りに条件分岐する
- B - 文字数カウント
https://atcoder.jp/contests/abc028/tasks/abc028_b
- 提出: https://atcoder.jp/contests/abc028/submissions/38100942
HashMap
で文字ごとの個数を数えて出力する
- C - 数を3つ選ぶマン
https://atcoder.jp/contests/abc028/tasks/abc028_c
- 提出: https://atcoder.jp/contests/abc028/submissions/38101033
- 数が少ないので 3 重ループで数えられる
- BTreeSet に入れて大きい側からたどれば良い
- D - 乱数生成
https://atcoder.jp/contests/abc028/tasks/abc028_d
- 提出: https://atcoder.jp/contests/abc028/submissions/38101606
- K を選ぶ個数が 1 個なら大きい側小さい側の個数をかけて並び替え分で 6 倍
- K を選ぶ個数が 2 個なら残り一個は K 以外のどれでもいい並び替え分で 3 倍
- K を選ぶ個数が 3 個は 1 通り
- 全事象は N^3
((n - k) * (k - 1) * 6 + (n - 1) * 3 + 1) as f64 / (n * n * n) as f64
- (こういう
O(1)
になる問題が個人的には嫌い)
sitemap-xml 0.3.0 に向けて bouzuya/rust-examples の quick_xml1 で Reader を試している。 crates:xml-rs のように素朴に持つ方針を取れば Iterator も実装できるし、扱いやすい。ただ、せっかくなので今回は crates:quick-xml のように参照 (Cow<'a, str>
) を持つ方針を取ろうと思っている。
のどが痛いのとなぜかお腹を壊している。
風邪の強い日だった。
今日のコミット。
- rust-examples 1 commit
- rust-atcoder 1 commit
- blog.bouzuya.net 1 commit