数え上げhttps://yukicoder.me/problems/no/584問題概要1×Nのグリッドを以下のルールを守って赤、緑、青で彩色するとき、ありうる塗り方は何通りか。正しい塗り方をすると、最終的には「2マス連続で色が塗られている箇所」「1マスだけ色が塗られている箇所」が空白マスに区切られて並んでいる形になる。「2マス連続で色が塗られている箇所」が何個あるかを決めると、「1マス孤立して色が塗られている箇所」が何個あるかが決まり、さらに空白マスが何個残るかも決まる。その上でこれらの並べ方が何個あるかを考えると、「2マス」と「1マス」をそれぞれ空白の間に挿し込んでいく形になるので、(空白の数+1)C(「2マス」の数+「1マス」の数)となる。次に並べたマスに色を塗っていくことを考える。赤の塗り方であるが、赤を「2マス」に何個塗って「1マス」に何個塗るかは総当たりする必要がある。どちらのマスに塗ったかによって次の色に残されるマス数が変わってくるからである(1マスの方に塗った場合は別の色で塗れない)。して赤を塗ったあとは「2マス(片方が赤で塗られている)」「2マス(両方塗られていない)」「1マス(塗られていない)」の3種類のマスが残ることになる。ここに緑を塗っていくことを考えると、まず「2マス(両方塗られていない)」には必ず緑を塗る必要がある(そうしないと青で両方を塗ることになってしまう)。(B-「2マス(両方塗られていない)」)を選ぶ総数となる。残った青の塗り方はここまでの手続きで自動的に1通りに定まるので考慮する必要はない。赤の塗り方を総当たりするのにO(N)かかるのでO(N2)で答えが出せる。コンビネーションは前計算しておく。N要素の数列AとM要素の数列Bが与えられる。AチームとBチームにわかれて対戦するゲームがある。(1)はてなブログをはじめよう!fluffyowlさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。