[Codeforces] Round #532 B. Build a Contest

Build a Contest

コンテスト中ではMapを使って解きましたが、配列だけでも解くことができるようです。

https://codeforces.com/contest/1100/problem/B

考え方

題意

問題のプールが \( n \) 種類になったら、\( 1 \) を出力し、そうでなければ \( 0 \) を出力します。

方針

\( b[ a_i] \) を \( a_i \) の出現頻度とし、この出現頻度の頻度を \( c[b_j ] \) とします。ここで、\( c \) の添え字を \( k \) とし、初期値は \( k = 1 \) です。問題のプールが \( n \) 種類に達すると、\( c_k = n \) となります。次に問題のプールのサイズが \( n \) となるのは、\( c_{k + 1} = n \) となるときです。

コード

感想

あまり呑み込めていませんが、このようなデータの表現方法を覚えておきたいですね。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする