2022-07-01 ABC165 の A, B, C, D, E を解いた
ABC165 : AtCoder Beginner Contest 165 の A, B, C, D, E を解いた
- A - We Love Golf
https://atcoder.jp/contests/abc165/tasks/abc165_a
- 提出: https://atcoder.jp/contests/abc165/submissions/32866103
(A..=B).any(|x| x % k == 0)
で判定できる
- B - 1%
https://atcoder.jp/contests/abc165/tasks/abc165_b
- 提出: https://atcoder.jp/contests/abc165/submissions/32866150
X >= 10^18
に一瞬ひるむけど 1% 複利なので増加量が増えていくので普通にループしてなんとかなる- 念のため指示通りに切り捨てて浮動小数点数を使わないようにする
- C - Many Requirements
https://atcoder.jp/contests/abc165/tasks/abc165_c
- 提出: https://atcoder.jp/contests/abc165/submissions/32866396
- 当時はこれが解けなくて 2 完だったらしい
A
はパッと見 10^10 でひるむけどA_1 <= A_2 <= A_3 ...
という制約から意外と少ない- DFS で全探索できる
- 初期値を間違えて 0 にして 1WA
- D - Floor Function
https://atcoder.jp/contests/abc165/tasks/abc165_d
- 提出: https://atcoder.jp/contests/abc165/submissions/32866738
- 試しにいくつかパターンを書き出してみると B 周期で 0 から単調増加を繰り返すようだ
- なので B - 1 にできるならそれが良くてできないなら右端っぽい
- 何番目の周期が大きいのか分からないので周期の最後のものを選んでみた
- 何やら混乱して 2WA
- E - Rotation Matching
https://atcoder.jp/contests/abc165/tasks/abc165_e
- 提出: https://atcoder.jp/contests/abc165/submissions/32867141
- rotate right で 1 周する
- たとえば 1 ズレ i と i+1 のペアを 2 つ置いてしまうとまずい
- 1 ズレ 2 ズレ 3 ズレ……と配置すれば良さそう
2M+1 <= N
の制約から余裕は 1 つしかない効率よく配置しないといけないM = 1 N = 3
の場合は(1,2)
で良いM = 2 N = 5
の場合は(1,2),(3,5)
で良いM = 3 N = 7
の場合は(1,4),(2,3),(5,7)
で良い- こう書き出してみたところ、ズレが偶数のものと奇数のものでグループにしてそれぞれ入れ子にしてやれば
2M+1
に収まると分かった N
は考慮する必要がない
- F - LIS on Tree
https://atcoder.jp/contests/abc165/tasks/abc165_f
- 30 分ほど残っていたがこれ以上時間がとれなかったのでパス
2 回目以降とは言え、最初の頃は 2 完だったのが 5 完になっているので成長している……と考えるようにしている。
フィットボクシング 2 を 7 日プレイした。今週は肩・首あたりに痛みがある。たぶんフィットボクシングの影響だと思う。ダッキングがきつい。
今日のコミット。