Toy と帽子と ADP BE

主にプログラミングに関わる話をゆるくエモくやっていきます

AtCoder Beginner Contest 206(Sponsored by Panasonic)

4完。可もなく不可もなく。

各問題

A - Maxi-Buying

消費税を知っていますか?私は知っています。(1年3ヶ月ぶり2回目

というわけで、こういうときはn * 108 / 100とやればよいです。

B - Savings

1日にもらえる額は日に日に増えていくため、愚直に計算しても答えはたいして大きくなりません。(この問題に関しては、109に到達する回数は109よりそれなりに小さいことが分かれば十分です。たとえば10には4日で到達するし100日で10000を超えるので、109は十分に計算が間に合う範囲だろうと推測できます)

なので、愚直に計算すればよいです。

C - Swappable

求める場合の数は、全ての組み合わせの数から重複した数の組み合わせの数を引いたものになります。

なので、どの数が何回出現したかを数えて、各数ごとに組み合わせの数を求めればいいです。

D - KAIBUNsyo

実は無証明で、直感で解いたんですが(おい)、dsu(Union-Find)に、各 A_i=A_{N+1-i}毎に突っ込んでいって、「各連結成分の要素数 - 1」を足していったものが答えです。

連結成分毎に全ての要素が同じにならなければならない、という意味だと思います。多分。

E - Divide Both

素因数分解して、いずれかの因数を持っているかつ自身の倍数ではないものが該当するので、包除原理使っていけるんじゃないかと思いましたが、答えが合わず。実装ミスも多かったしそもそもTLEするしで、残念な結果に。

F - Interval Game 2

問題を読んだだけ。

まとめ

Eのような問題、いつまで経っても慣れません・・・。もうちょっと簡単な問題がCとかに出て大惨事になることもしばしばなので、ちょっと集中的に勉強しますかね。

f:id:mdstoy:20210619230314p:plain