問題. Pass
人のすぬけ君がそれぞれボールを2個ずつ持って1列に並んでいる.ボールの色はそれぞれ赤か青のどちらかである.各ステップで自分の持っているボールをどれか1つ前の人に渡すというステップを 回行う.先頭の人が選んだボールの色の列としてありうるものの個数を求めよ.
制約:
解法.動的計画法
と をそれぞれ先頭から 番目までの人達が持っている赤色と青色のボールの総数とする.ただし便宜上,任意の に対して と の値はそれぞれ と と等しいとする.
先頭の人が選んだボールの色の列を としたとき,各 に対して で選んだ赤色と青色のボールの総数はそれぞれ 以下でないといけない.そのようなものの個数を動的計画法で求める.具体的には dp[i][j]
を,先頭の人がボールを 個選んだときに,赤色のボールが 個含まれるようなものの数として漸化式を立てる.このとき, を満たし,選ばれた青色のボールの個数が であることから を満たすように遷移を考える(詳しくはソースコードを参照).
計算時間:
コンテスト中は問題を確認してなかったけど,コンテスト後に見たら解けたのでD問題よりもE問題を解くべきだったなと反省.