再帰

TopCoder SRM 550 Div1 Medium CheckerExpansion

問題 無限に広いチェス盤がある。最初どのマスにも駒は置かれていない。 左上を(0, 0)とする。以下t回以下の操作を繰り返す。 1回目は(0, 0)にAを置く 次からはB, Aと交互に置く (x - 2, y)と(x - 1, y - 1)の2マスのうち、どちらか一方のみに今置こうとして…

TopCoder SRM 500 Div1 Medium FractalPicture

問題 次のようにしてフラクタルな図形を描く。 第一世代: (0, 0)から(0, 81)の世代 第二世代: 前の線分の上1/3を三つに枝分かれさせる((0, 54)から、(0, 81), (-27, 54), (27, 54)に) 第三世代: 枝分かれした三つの枝を、更に同様に三つずつに枝分かれ…

TopCoder SRM 541 Div1 Medium AkariDaisukiDiv1

問題 文字列A, B, Cが与えられたとき、 文字列xに対する操作fを、f(x) = A + x + B + x + Cとする。 (+は文字列の結合を表す) fをn回適用する操作(f(f...(f(f(x)))...))をf^nと書く。 f^k(x)に、文字列Fが何回出現するかを求めよ。 制約条件 A, B, C, Fの…

Codeforces 68 D. Half-decay tree

問題 高さhの完全二分木がある。これに対してq個の次のようなクエリに答えよ。 add v e 頂点vにeの電荷を加える decay 木のdecay(後述)を求める。 木のdecayとは、次のようにして計算される値である。 木の葉をランダムに一つ選ぶ。木の根から、その葉まで…

117 D Not Quick Transformation

再帰タグを作った。 問題 数列aに対して、その偶数番目の項だけを取り出した数列をeven(a), 奇数番目の項だけを取り出した数列をodd(a)とする。 F(a)=F(odd(a))+F(even(a)) (aの項数が2以上) F(a)=a (aの項数が1)と定義する。 整数n,u,v,modが与えられる。 a…