2022-08-02 ABC097 の A, B, C, D を解いた
ABC097 : AtCoder Beginner Contest 097 の A, B, C, D を解いた。
- A - Colorful Transceivers
https://atcoder.jp/contests/abc097/tasks/abc097_a
- 提出: https://atcoder.jp/contests/abc097/submissions/33728012
((a - c).abs() <= d) || ((a - b).abs() <= d && (b - c).abs() <= d)
- B - Exponential
https://atcoder.jp/contests/abc097/tasks/abc097_b
- 提出: https://atcoder.jp/contests/abc097/submissions/33728143
- 問題文を読み違えて 1WA
- もっと愚直な二重ループにすれば良かったかもしれない
- C - K-th Substring
https://atcoder.jp/contests/abc097/tasks/arc097_a
- 提出: https://atcoder.jp/contests/abc097/submissions/33728522
- 答えは最大でも K 文字にしかならないので連続する 1..=K 文字の文字列を列挙して先頭から K 番目を取れば良い
- なぜだか時間がかかってしまった
- D - Equals
https://atcoder.jp/contests/abc097/tasks/arc097_b
- 提出: https://atcoder.jp/contests/abc097/submissions/33728625
- 何回でも操作できるので swap 可能なものの間では任意の順序に並び替えることができる
- swap 可能なものの位置にある数字と共通している数字は適切な位置に置ける
- Union-Find (Dsu) で swap 可能なものごとにグループわけする
- グループ分けしたものを HashSet に入れる
- グループ分けした位置の数字を HashSet に入れる
- intersect で共通している値を HashSet で得る
- それらの長さの合計がこたえになる
- なぜだか C よりすっと解けた
咳がおさまらない。息苦しい。どうにもならないので部屋をうろうろしたりお湯を飲んだりしている。
今日のコミット。