srupのメモ帳

競プロで解いた問題や勉強したことを記録していくメモ帳

2016-10-23から1日間の記事一覧

yukicoder No.320 眠れない夜に

問題 問題概要 省略 解法 分枝限定法で解けるみたい。n=1とn=2の時は間違えることはないので、nの時フィボナッチ数列の値を求めるまでに、n-2回間違える可能性がある。それを全探索すると、2n 通り調べなくてはならなくなり、TLEしてしまう。そこで枝刈り的…

ARC 037 C - 億マス計算

問題 問題概要 100マス計算のようなマスが与えられる。その中で積の値が、小さいほうから数えて、K番目に位置する値を求めよ。 解法 editorialがわかりやすい。 AtCoder Regular Contest 037 解説 from AtCoder Inc. www.slideshare.net 答えをmidとすると、…

ARC 037 B - バウムテスト

問題 問題概要 連結成分の中で、閉路がなく、木である連結成分の個数を求める。 解法 閉路を検出する問題。dfsで探索して、すでに探索した頂点をmemoで記録しておいて、同じところに2度来たら、その連結成分は閉路を持つので木ではないのでカウントしない。 …

ARC 036 C - 偶然ジェネレータ

問題 問題概要 省略 解法 ランダムウォークの表のようなものを考えて、+y方向に、(1-0の数)、-y方向に(0-1の数)として表を考える。そして、dp配列に、dp[i][j][k] := i番目まで見て、(1-0)の最大値がjで、(0-1)の最小値がkの時の場合の数 として、更新してい…

ARC 036 B - 山のデータ

arc

問題 問題概要 省略 解法 山の中央と決めて、その左右に条件を満たしながら、伸ばせるだけ伸ばした時がその時の山の最大となる。これを山の中央に対してすべて行うと TLEしてしまう。そこで、 if(h[mid - 1] < h[mid] && h[mid] > h[mid + 1]) という条件を…