2022-04-26 ABC105 の A, B, C, D を解いた
ABC105 : AtCoder Beginner Contest 105 の A, B, C, D を解いた。
- A - AtCoder Crackers
https://atcoder.jp/contests/abc105/tasks/abc105_a
- 提出: https://atcoder.jp/contests/abc105/submissions/31284885
- 配りきれる ( K 人で割り切れる) なら 0 そうでなければ余りが K 人のうち何人かに行くので 1
- B - Cakes and Donuts
https://atcoder.jp/contests/abc105/tasks/abc105_b
- 提出: https://atcoder.jp/contests/abc105/submissions/31284909
- 0 個を許容しそびれて 1WA
- 4 ドルのケーキを a 個 7 ドルのケーキを b 個として
0 <= a <= n / 4
0 <= b <= n / 7
の組み合わせを試す n / 4
の切り捨てなどでトラブっても嫌なので100
で試した
- C - Base -2 Number
https://atcoder.jp/contests/abc105/tasks/abc105_c
- 提出: https://atcoder.jp/contests/abc105/submissions/31286258
- たぶん ABC105 で一番難しい
- n の 2 の剰余が 1 のときは (-2)^0 = 1 が含まれないと合わない
- ↑の桁の結果を n から引いた値の 2 の剰余が 1 のときは (-2)^1 が含まれないと合わない
- 下の桁から順に求める
- 最後に reverse して、 1 桁もないときは 0 を埋めて、出力する
- D - Candy Distribution
https://atcoder.jp/contests/abc105/tasks/abc105_d
- 提出: https://atcoder.jp/contests/abc105/submissions/31286382
A_l + A_{l + 1}... + A_r
を素朴に走査すると間に合わないA
の累積和S
でS_r - S_{l-1}
と考える(S_r - S_{l-1}) % M = 0
を探すのでS_r = S_{l-1} (mod M)
を探すA
の累積和S
をmod M
で考えたときS_i = S_j (i < j)
の組を求めるN <= 10^5
なので素朴に走査すると間に合わないS_i
の値ごとの個数を求めて、そこから 2 個を選ぶ場合の数の総和で求めると間に合う
書いたかわからないけど nushell から zsh に戻している。 git
のエイリアスでクラッシュするほか jq .
などでもクラッシュして「付き合いきれない」となって戻ってきた。 zsh → fish → nushell → zsh と回った。 bash を想定したコマンドをコピペさせられるケースも多いのでそういう場面で切り替える必要がなくなるのは良い。
まだ PATH を入れていくつかの関数・エイリアスを定義して zinit をインストールして zinit load zsh-users/zsh-autosuggestions
したくらい。 zsh-users/zsh-autosuggestions すると fish っぽい表示になるので気持ちが安らぐ。
今日のコミット。