[yukicoder] yukicoder contest 191 に参加した感想
yukicoder contest 191
AtCoderのコンテストにしか参加したことがなかったのですが、偶然yukicoderのコンテストに参加する機会があったので、挑戦しました。
yukicoder contest 191 - yukicoder
時間内に解けた問題はAとBだけでしたが、コンテスト終了後にCも解くことが出来ました。
No.687 E869120 and Constructing Array 1
A問題なので、解きやすい問題でした。
を0以上の整数とします。
のとき、
,
とします。
のとき、
,
とします。
もちろん、解答の候補はこれ以外にもあります。
No.688 E869120 and Constructing Array 2
の個数を 、 の個数を とします。
このとき、
を満たすものとします。
の値は数字の並びに関係ないので、数字の個数のみ依存することに注意します。
を満たす を求めます。これは、選んだ数の合計が となる条件は、 個から つ選ぶ組み合わせと、 個から~個選ぶ組み合わせを掛け合わせた値となっています。
の方の選び方は、二項係数の和を考えています。つまり、
となることを利用しています。これは、次のサイトを見ると分かると思います。
No.689 E869120 and Constructing Array 3
時間中に解くことはできませんでしたが、終了後に解きました。
この問題はどの数字を選ぶかが重要だと思います。僕は色々考えた結果、「3、4、5、6」を使って問題を解くことにしました。
解き方の方針
まず初めに、二つの数字の掛け算を考えます。これは、3と4を選んだ時、素数となる数はそれぞれの個数を掛けた値に対応しています。
自然数 が
を満たす最大の を考えます。数列の長さの最大値が であることから、
の範囲で考えてみます。( となることから、当たりをつけています)
に対して、
の最大値を とすると、 であれば、5と6を適切に選ぶことで、解答が得られます。
つまり、「3、4、5、6」を用いて、それぞれの個数を とします。ここで、
となりますが、ここで とすると、
になります。
の条件の下で、 を最大化する を求めます。求めたら、
となります。 を満たすことを確認してください。