yamake's blog

主に競プロ、たまに自転車

8/8 解いた問題

こどふぉのバチャ一回です

Codeforces Round #405 (rated, Div. 1, based on VK Cup 2017 Round 1)

A, Bの2完です

 

A. Bear and Different Names

case\quad 1

s_i=="YES"\quad(1\leq i\leq n-k+1)

のときについて考えます。

これはi番目の人に辞書順でi番目に小さい名前をつければ満たすことができます。

 

case\quad 2

s_j=="NO" \quad(1\leq i\leq n-k+1)

の場合について考えます。

 このとき、ans_{j+k-1}=ans_jとすれば良いです。

 

なぜなら、こうすることによってs_{j-1}s_{j+1}に影響を与えること無くs_jのみを"NO"の状態にできるからです。

 

したがって、1\leq i\leq k-1まではcase\quad1の通りに名付け、

それ以降はs_iを見て、当てはまるやり方で名付ければ良いです。

 

B. Bear and Tree jumps

全方位木DPをしました。これは想定解ではありません。

最初に想定解の解説をしてから全方位木DPでの解説をしようと思います。